Skip to content

Commit 1e0bdcc

Browse files
committed
Merge branch 'elefont' into 'master'
Further revise bitmap glyph replacements (#7531) See merge request OpenMW/openmw!4563
2 parents 97717e6 + c8fe596 commit 1e0bdcc

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

components/fontloader/fontloader.cpp

+11-6
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ namespace Gui
465465
// € (Euro Sign, 0x80/U+20AC) is replaced with underscore
466466
// 0x81 (unused) is replaced with underscore
467467
additional.emplace(44, 0x201A); // ‚ (Single Low-9 Quotation Mark, 0x82) => , (comma)
468-
additional.emplace(102, 0x0192); // ƒ (Latin Small Letter F with Hook, 0x83) => f (latin small F) (custom)
468+
// ƒ (Latin Small Letter F with Hook, 0x83) is unavailable, not replaced
469469
additional.emplace(44, 0x201E); // „ (Double Low-9 Quotation Mark, 0x84) => , (comma)
470470
additional.emplace(46, 0x2026); // … (Horizontal Ellipsis, 0x85) => . (period)
471471
additional.emplace(43, 0x2020); // † (Dagger, 0x86) => + (plus sign)
@@ -500,7 +500,7 @@ namespace Gui
500500
// £ (Pound Sign, 0xA3) is available but its glyph looks like œ (small oe ligature)
501501
omitted.push_back(0x00A4); // ¤ (Currency Sign)
502502
// ¥ (Yen Sign, 0xA5) is unavailable, not replaced
503-
// ¦ (Broken Bar, 0xA6) is unavailable, not replaced
503+
additional.emplace(221, 0x00A6); // ¦ (Broken Bar, 0xA6) => ▌
504504
omitted.push_back(0x00A7); // § (Section Sign)
505505
additional.emplace(34, 0x00A8); // ¨ (Diaeresis) => " (double quote mark)
506506
additional.emplace(99, 0x00A9); // © (Copyright Sign) => c (latin small C)
@@ -512,7 +512,7 @@ namespace Gui
512512
additional.emplace(95, 0x00AF); // ¯ (Macron) => _ (underscore)
513513
// ° (Degree Sign, 0xB0) is unavailable, not replaced
514514
// ± (Plus-Minus Sign, 0xB1) is unavailable, not replaced
515-
additional.emplace(50, 0x00B2); // ² (Superscript Two) => 2 (two digit) (custom)
515+
// ² (Superscript Two, 0xB2) is unavailable, not replaced
516516
additional.emplace(51, 0x00B3); // ³ (Superscript Three) => 3 (three digit)
517517
additional.emplace(39, 0x00B4); // ´ (Acute Accent) => ' (apostrophe)
518518
// µ (Micro Sign, 0xB5) is unavailable, not replaced
@@ -532,7 +532,7 @@ namespace Gui
532532
additional.emplace(65, 0x00C3); // Ã (Latin Capital Letter A with Tilde) => A (latin capital A)
533533
// Ä (Latin Capital Letter A with Diaeresis, 0xC4) is available
534534
// Å (Latin Capital Letter A with Ring Above, 0xC5) is available
535-
additional.emplace(65, 0x00C6); // Æ (Latin Capital Letter Ae) => A (latin capital A) (custom)
535+
// Æ (Latin Capital Letter Ae, 0xC6) is unavailable, not replaced
536536
// Ç (Latin Capital Letter C with Cedilla, 0xC7) is available
537537
additional.emplace(69, 0x00C8); // È (Latin Capital Letter E with Grave) => E (latin capital E)
538538
// É (Latin Capital Letter E with Acute, 0xC9) is available
@@ -543,7 +543,7 @@ namespace Gui
543543
additional.emplace(73, 0x00CE); // Î (Latin Capital Letter I with Circumflex) => I (latin capital I)
544544
additional.emplace(73, 0x00CF); // Ï (Latin Capital Letter I with Diaeresis) => I (latin capital I)
545545
additional.emplace(68, 0x00D0); // Ð (Latin Capital Letter Eth) => D (latin capital D)
546-
additional.emplace(78, 0x00D1); // Ñ (Latin Capital Letter N with Tilde) => N (latin capital N) (custom)
546+
// Ñ (Latin Capital Letter N with Tilde, 0xD1) is unavailable, not replaced
547547
additional.emplace(79, 0x00D2); // Ò (Latin Capital Letter O with Grave) => O (latin capital O)
548548
additional.emplace(79, 0x00D3); // Ó (Latin Capital Letter O with Acute) => O (latin capital O)
549549
additional.emplace(79, 0x00D4); // Ô (Latin Capital Letter O with Circumflex) => O (latin capital O)
@@ -556,7 +556,12 @@ namespace Gui
556556
additional.emplace(85, 0x00DB); // Û (Latin Capital Letter U with Circumflex) => U (latin capital U)
557557
// Ü (Latin Capital Letter U with Diaeresis, 0xDC) is available
558558
additional.emplace(89, 0x00DD); // Ý (Latin Capital Letter Y with Acute) => Y (latin capital Y)
559-
// 0xDE to 0xFF are not replaced
559+
// 0xDE to 0xFF are generally not replaced with certain exceptions
560+
additional.emplace(97, 0x00E3); // ã (Latin Small Letter A with Tilde) => a (latin small A)
561+
additional.emplace(100, 0x00F0); // ð (Latin Small Letter Eth) => d (latin small D)
562+
additional.emplace(111, 0x00F5); // õ (Latin Small Letter O with Tilde) => o (latin small O)
563+
additional.emplace(111, 0x00F8); // ø (Latin Small Letter O with Stroke) => o (latin small O)
564+
additional.emplace(121, 0x00FD); // ý (Latin Small Letter Y with Acute) => y (latin small Y)
560565

561566
// Russian Morrowind which uses Win-1251 encoding only does equivalent (often garbage) Win-1252 replacements
562567
// However, we'll provide custom replacements for Cyrillic io letters

0 commit comments

Comments
 (0)