[Scummvm-git-logs] scummvm master -> 4c7fefd50057c9df567603f2713e99aafb24b845

bluegr noreply at scummvm.org
Sun Jul 26 00:07:17 UTC 2026


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
526c157000 NANCY: Add French font characters
4c7fefd500 JANITORIAL: Adjust whitespace


Commit: 526c15700076763e8c7a71b1e041fa773291e855
    https://github.com/scummvm/scummvm/commit/526c15700076763e8c7a71b1e041fa773291e855
Author: tunnelsociety (tunnelsociety at mm.st)
Date: 2026-07-26T03:07:13+03:00

Commit Message:
NANCY: Add French font characters

for French variant of nancy12; these take the place of unused characters

Changed paths:
    engines/nancy/font.cpp
    engines/nancy/font.h


diff --git a/engines/nancy/font.cpp b/engines/nancy/font.cpp
index 830a42c8d07..a71d849076f 100644
--- a/engines/nancy/font.cpp
+++ b/engines/nancy/font.cpp
@@ -95,9 +95,15 @@ void Font::read(Common::SeekableReadStream &stream) {
 			_aWithCircumflexOffset			= stream.readUint16LE();
 			_iWithCircumflexOffset			= stream.readUint16LE();
 			_uWithGraveOffset 				= stream.readUint16LE();
-			_uppercaseAWithDiaeresisOffset	= stream.readUint16LE();
+			if (g_nancy->getGameLanguage() == Common::FR_FRA)
+				_uppercaseCWithCedillaOffset = stream.readUint16LE();
+			else
+				_uppercaseAWithDiaeresisOffset = stream.readUint16LE();
 			_aWithDiaeresisOffset			= stream.readUint16LE();
-			_uppercaseOWithDiaeresisOffset	= stream.readUint16LE();
+			if (g_nancy->getGameLanguage() == Common::FR_FRA)
+				_uWithCircumflexOffset		= stream.readUint16LE();
+			else
+				_uppercaseOWithDiaeresisOffset = stream.readUint16LE();
 			_oWithDiaeresisOffset			= stream.readUint16LE();
 			_uppercaseUWithDiaeresisOffset	= stream.readUint16LE();
 			_uWithDiaeresisOffset			= stream.readUint16LE();
@@ -117,8 +123,13 @@ void Font::read(Common::SeekableReadStream &stream) {
 
 		if (g_nancy->getGameType() >= kGameTypeNancy10) {
 			// Nancy10 added even more characters to its fonts
-			_uppercaseAWithDotOffset        = stream.readUint16LE();
-			_aWithDotOffset                 = stream.readUint16LE();
+			if (g_nancy->getGameLanguage() == Common::FR_FRA) {
+				_oeLigatureOffset			= stream.readUint16LE();
+				_iWithDiaeresisOffset		= stream.readUint16LE();
+			} else {
+				_uppercaseAWithDotOffset	= stream.readUint16LE();
+				_aWithDotOffset				= stream.readUint16LE();
+			}
 			_underscoreOffset               = stream.readUint16LE();
 			_hashOffset                     = stream.readUint16LE();
 			_dollarOffset                   = stream.readUint16LE();
@@ -359,9 +370,19 @@ Common::Rect Font::getCharacterSourceRect(char chr) const {
 					offset = -1;
 				}
 				break;
+			case '\xc7':
+				offset = _uppercaseCWithCedillaOffset;
+				break;
+			case '\xfb':
+				offset = _uWithCircumflexOffset;
+				break;
+			case '\xef':
+				offset = _iWithDiaeresisOffset;
+				break;
 			// TODO: _uppercaseAWithDotOffset
 			// TODO: _aWithDotOffset
 			// TODO: _euroOffset
+			// TODO: _oeLigatureOffset
 			default:
 				offset = -1;
 				break;
diff --git a/engines/nancy/font.h b/engines/nancy/font.h
index 52fffab58f5..20cdba71795 100644
--- a/engines/nancy/font.h
+++ b/engines/nancy/font.h
@@ -140,6 +140,12 @@ private:
 	int16 _rightCurlyBracketOffset          = -1;
 	int16 _euroOffset                       = -1;
 
+	// Specific offsets in French variant of nancy12
+	int16 _uppercaseCWithCedillaOffset		= -1;
+	int16 _uWithCircumflexOffset			= -1;
+	int16 _oeLigatureOffset					= -1;
+	int16 _iWithDiaeresisOffset				= -1;
+
 	Common::Array<Common::Rect> _characterRects;
 
 	Graphics::ManagedSurface _image;


Commit: 4c7fefd50057c9df567603f2713e99aafb24b845
    https://github.com/scummvm/scummvm/commit/4c7fefd50057c9df567603f2713e99aafb24b845
Author: tunnelsociety (tunnelsociety at mm.st)
Date: 2026-07-26T03:07:13+03:00

Commit Message:
JANITORIAL: Adjust whitespace

Changed paths:
    engines/nancy/font.cpp
    engines/nancy/font.h


diff --git a/engines/nancy/font.cpp b/engines/nancy/font.cpp
index a71d849076f..193cadeb343 100644
--- a/engines/nancy/font.cpp
+++ b/engines/nancy/font.cpp
@@ -84,39 +84,39 @@ void Font::read(Common::SeekableReadStream &stream) {
 	} else {
 		if (g_nancy->getGameType() >= kGameTypeNancy6) {
 			// Nancy6 added more characters to its fonts
-			_aWithGraveOffset 				= stream.readUint16LE();
-			_cWithCedillaOffset				= stream.readUint16LE();
-			_eWithGraveOffset 				= stream.readUint16LE();
-			_eWithAcuteOffset 				= stream.readUint16LE();
-			_eWithCircumflexOffset			= stream.readUint16LE();
-			_eWithDiaeresisOffset			= stream.readUint16LE();
-			_oWithCircumflexOffset			= stream.readUint16LE();
-			_uppercaseAWithGraveOffset		= stream.readUint16LE();
-			_aWithCircumflexOffset			= stream.readUint16LE();
-			_iWithCircumflexOffset			= stream.readUint16LE();
-			_uWithGraveOffset 				= stream.readUint16LE();
+			_aWithGraveOffset 					= stream.readUint16LE();
+			_cWithCedillaOffset					= stream.readUint16LE();
+			_eWithGraveOffset 					= stream.readUint16LE();
+			_eWithAcuteOffset 					= stream.readUint16LE();
+			_eWithCircumflexOffset				= stream.readUint16LE();
+			_eWithDiaeresisOffset				= stream.readUint16LE();
+			_oWithCircumflexOffset				= stream.readUint16LE();
+			_uppercaseAWithGraveOffset			= stream.readUint16LE();
+			_aWithCircumflexOffset				= stream.readUint16LE();
+			_iWithCircumflexOffset				= stream.readUint16LE();
+			_uWithGraveOffset 					= stream.readUint16LE();
 			if (g_nancy->getGameLanguage() == Common::FR_FRA)
-				_uppercaseCWithCedillaOffset = stream.readUint16LE();
+				_uppercaseCWithCedillaOffset	= stream.readUint16LE();
 			else
-				_uppercaseAWithDiaeresisOffset = stream.readUint16LE();
-			_aWithDiaeresisOffset			= stream.readUint16LE();
+				_uppercaseAWithDiaeresisOffset	= stream.readUint16LE();
+			_aWithDiaeresisOffset				= stream.readUint16LE();
 			if (g_nancy->getGameLanguage() == Common::FR_FRA)
-				_uWithCircumflexOffset		= stream.readUint16LE();
+				_uWithCircumflexOffset			= stream.readUint16LE();
 			else
-				_uppercaseOWithDiaeresisOffset = stream.readUint16LE();
-			_oWithDiaeresisOffset			= stream.readUint16LE();
-			_uppercaseUWithDiaeresisOffset	= stream.readUint16LE();
-			_uWithDiaeresisOffset			= stream.readUint16LE();
-			_invertedExclamationMarkOffset	= stream.readUint16LE();
-			_invertedQuestionMarkOffset		= stream.readUint16LE();
-			_uppercaseNWithTildeOffset		= stream.readUint16LE();
-			_nWithTildeOffset				= stream.readUint16LE();
-			_uppercaseEWithAcuteOffset		= stream.readUint16LE();
-			_aWithAcuteOffset				= stream.readUint16LE();
-			_iWithAcuteOffset				= stream.readUint16LE();
-			_oWithAcuteOffset				= stream.readUint16LE();
-			_uWithAcuteOffset				= stream.readUint16LE();
-			_eszettOffset					= stream.readUint16LE();
+				_uppercaseOWithDiaeresisOffset 	= stream.readUint16LE();
+			_oWithDiaeresisOffset				= stream.readUint16LE();
+			_uppercaseUWithDiaeresisOffset		= stream.readUint16LE();
+			_uWithDiaeresisOffset				= stream.readUint16LE();
+			_invertedExclamationMarkOffset		= stream.readUint16LE();
+			_invertedQuestionMarkOffset			= stream.readUint16LE();
+			_uppercaseNWithTildeOffset			= stream.readUint16LE();
+			_nWithTildeOffset					= stream.readUint16LE();
+			_uppercaseEWithAcuteOffset			= stream.readUint16LE();
+			_aWithAcuteOffset					= stream.readUint16LE();
+			_iWithAcuteOffset					= stream.readUint16LE();
+			_oWithAcuteOffset					= stream.readUint16LE();
+			_uWithAcuteOffset					= stream.readUint16LE();
+			_eszettOffset						= stream.readUint16LE();
 
 			numCharacters = 105;
 		}
@@ -130,14 +130,14 @@ void Font::read(Common::SeekableReadStream &stream) {
 				_uppercaseAWithDotOffset	= stream.readUint16LE();
 				_aWithDotOffset				= stream.readUint16LE();
 			}
-			_underscoreOffset               = stream.readUint16LE();
-			_hashOffset                     = stream.readUint16LE();
-			_dollarOffset                   = stream.readUint16LE();
-			_lessThanOffset                 = stream.readUint16LE();
-			_greaterThanOffset              = stream.readUint16LE();
-			_leftCurlyBracketOffset         = stream.readUint16LE();
-			_rightCurlyBracketOffset        = stream.readUint16LE();
-			_euroOffset                     = stream.readUint16LE();
+			_underscoreOffset				= stream.readUint16LE();
+			_hashOffset						= stream.readUint16LE();
+			_dollarOffset					= stream.readUint16LE();
+			_lessThanOffset					= stream.readUint16LE();
+			_greaterThanOffset				= stream.readUint16LE();
+			_leftCurlyBracketOffset			= stream.readUint16LE();
+			_rightCurlyBracketOffset		= stream.readUint16LE();
+			_euroOffset						= stream.readUint16LE();
 
 			numCharacters = 115;
 		}
diff --git a/engines/nancy/font.h b/engines/nancy/font.h
index 20cdba71795..26147d95a25 100644
--- a/engines/nancy/font.h
+++ b/engines/nancy/font.h
@@ -74,25 +74,25 @@ private:
 	uint16 _spaceWidth = 0;
 
 	// Specific offsets into the _characterRects array
-	uint16 _uppercaseOffset			= 0;
-	uint16 _lowercaseOffset			= 0;
-	uint16 _digitOffset				= 0;
-	uint16 _periodOffset			= 0;
-	uint16 _commaOffset				= 0;
-	uint16 _equalitySignOffset		= 0;
-	uint16 _colonOffset				= 0;
-	uint16 _dashOffset				= 0;
-	uint16 _questionMarkOffset		= 0;
-	uint16 _exclamationMarkOffset	= 0;
-	uint16 _percentOffset			= 0;
-	uint16 _ampersandOffset			= 0;
-	uint16 _asteriskOffset			= 0;
-	uint16 _leftBracketOffset		= 0;
-	uint16 _rightBracketOffset		= 0;
-	uint16 _plusOffset				= 0;
-	uint16 _apostropheOffset		= 0;
-	uint16 _semicolonOffset			= 0;
-	uint16 _slashOffset				= 0;
+	uint16 _uppercaseOffset					= 0;
+	uint16 _lowercaseOffset					= 0;
+	uint16 _digitOffset						= 0;
+	uint16 _periodOffset					= 0;
+	uint16 _commaOffset						= 0;
+	uint16 _equalitySignOffset				= 0;
+	uint16 _colonOffset						= 0;
+	uint16 _dashOffset						= 0;
+	uint16 _questionMarkOffset				= 0;
+	uint16 _exclamationMarkOffset			= 0;
+	uint16 _percentOffset					= 0;
+	uint16 _ampersandOffset					= 0;
+	uint16 _asteriskOffset					= 0;
+	uint16 _leftBracketOffset				= 0;
+	uint16 _rightBracketOffset				= 0;
+	uint16 _plusOffset						= 0;
+	uint16 _apostropheOffset				= 0;
+	uint16 _semicolonOffset					= 0;
+	uint16 _slashOffset						= 0;
 
 	// Specific offsets for Cyrillic characters. Introduced in nancy5, only used in Russian variants
 	// The original data references the letters one by one, out of order. We only keep the two offsets below
@@ -129,16 +129,16 @@ private:
 	int16 _eszettOffset						= -1;
 
 	// Even more specific offsets for extended ASCII characters. Introduced in nancy10
-	int16 _uppercaseAWithDotOffset          = -1;
-	int16 _aWithDotOffset                   = -1;
-	int16 _underscoreOffset                 = -1;
-	int16 _hashOffset                       = -1;
-	int16 _dollarOffset                     = -1;
-	int16 _lessThanOffset                   = -1;
-	int16 _greaterThanOffset                = -1;
-	int16 _leftCurlyBracketOffset           = -1;
-	int16 _rightCurlyBracketOffset          = -1;
-	int16 _euroOffset                       = -1;
+	int16 _uppercaseAWithDotOffset			= -1;
+	int16 _aWithDotOffset					= -1;
+	int16 _underscoreOffset					= -1;
+	int16 _hashOffset						= -1;
+	int16 _dollarOffset						= -1;
+	int16 _lessThanOffset					= -1;
+	int16 _greaterThanOffset				= -1;
+	int16 _leftCurlyBracketOffset			= -1;
+	int16 _rightCurlyBracketOffset			= -1;
+	int16 _euroOffset						= -1;
 
 	// Specific offsets in French variant of nancy12
 	int16 _uppercaseCWithCedillaOffset		= -1;




More information about the Scummvm-git-logs mailing list