forked from 0ad/0ad
Add a hack for a-macron-acute characters (see #1039)
This was SVN commit r10796.
This commit is contained in:
parent
4e52b2cceb
commit
9f0e357f09
@ -518,6 +518,20 @@
|
||||
023F: ȿ LATIN SMALL LETTER S WITH SWASH TAIL
|
||||
0240: ɀ LATIN SMALL LETTER Z WITH SWASH TAIL
|
||||
0241: Ɂ LATIN CAPITAL LETTER GLOTTAL STOP
|
||||
0242: ɂ LATIN SMALL LETTER GLOTTAL STOP
|
||||
0243: Ƀ LATIN CAPITAL LETTER B WITH STROKE
|
||||
0244: Ʉ LATIN CAPITAL LETTER U BAR
|
||||
0245: Ʌ LATIN CAPITAL LETTER TURNED V
|
||||
0246: Ɇ LATIN CAPITAL LETTER E WITH STROKE
|
||||
0247: ɇ LATIN SMALL LETTER E WITH STROKE
|
||||
0248: Ɉ LATIN CAPITAL LETTER J WITH STROKE
|
||||
0249: ɉ LATIN SMALL LETTER J WITH STROKE
|
||||
024A: Ɋ LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
|
||||
024B: ɋ LATIN SMALL LETTER Q WITH HOOK TAIL
|
||||
024C: Ɍ LATIN CAPITAL LETTER R WITH STROKE
|
||||
024D: ɍ LATIN SMALL LETTER R WITH STROKE
|
||||
024E: Ɏ LATIN CAPITAL LETTER Y WITH STROKE
|
||||
024F: ɏ LATIN SMALL LETTER Y WITH STROKE
|
||||
|
||||
# Latin Extended Additional
|
||||
1E00: Ḁ LATIN CAPITAL LETTER A WITH RING BELOW
|
||||
@ -676,6 +690,10 @@
|
||||
1E99: ẙ LATIN SMALL LETTER Y WITH RING ABOVE
|
||||
1E9A: ẚ LATIN SMALL LETTER A WITH RIGHT HALF RING
|
||||
1E9B: ẛ LATIN SMALL LETTER LONG S WITH DOT ABOVE
|
||||
1E9C: ẜ LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
|
||||
1E9D: ẝ LATIN SMALL LETTER LONG S WITH HIGH STROKE
|
||||
1E9E: ẞ LATIN CAPITAL LETTER SHARP S
|
||||
1E9F: ẟ LATIN SMALL LETTER DELTA
|
||||
1EA0: Ạ LATIN CAPITAL LETTER A WITH DOT BELOW
|
||||
1EA1: ạ LATIN SMALL LETTER A WITH DOT BELOW
|
||||
1EA2: Ả LATIN CAPITAL LETTER A WITH HOOK ABOVE
|
||||
@ -766,6 +784,12 @@
|
||||
1EF7: ỷ LATIN SMALL LETTER Y WITH HOOK ABOVE
|
||||
1EF8: Ỹ LATIN CAPITAL LETTER Y WITH TILDE
|
||||
1EF9: ỹ LATIN SMALL LETTER Y WITH TILDE
|
||||
1EFA: Ỻ LATIN CAPITAL LETTER MIDDLE-WELSH LL
|
||||
1EFB: ỻ LATIN SMALL LETTER MIDDLE-WELSH LL
|
||||
1EFC: Ỽ LATIN CAPITAL LETTER MIDDLE-WELSH V
|
||||
1EFD: ỽ LATIN SMALL LETTER MIDDLE-WELSH V
|
||||
1EFE: Ỿ LATIN CAPITAL LETTER Y WITH LOOP
|
||||
1EFF: ỿ LATIN SMALL LETTER Y WITH LOOP
|
||||
|
||||
# Spacing Modifier Letters
|
||||
02B0: ʰ MODIFIER LETTER SMALL H
|
||||
@ -950,6 +974,7 @@
|
||||
2061: FUNCTION APPLICATION
|
||||
2062: INVISIBLE TIMES
|
||||
2063: INVISIBLE SEPARATOR
|
||||
2064: INVISIBLE PLUS
|
||||
206A: INHIBIT SYMMETRIC SWAPPING
|
||||
206B: ACTIVATE SYMMETRIC SWAPPING
|
||||
206C: INHIBIT ARABIC FORM SHAPING
|
||||
@ -957,5 +982,119 @@
|
||||
206E: NATIONAL DIGIT SHAPES
|
||||
206F: NOMINAL DIGIT SHAPES
|
||||
|
||||
# Combining Diacritical Marks
|
||||
0300: ̀ COMBINING GRAVE ACCENT
|
||||
0301: ́ COMBINING ACUTE ACCENT
|
||||
0302: ̂ COMBINING CIRCUMFLEX ACCENT
|
||||
0303: ̃ COMBINING TILDE
|
||||
0304: ̄ COMBINING MACRON
|
||||
0305: ̅ COMBINING OVERLINE
|
||||
0306: ̆ COMBINING BREVE
|
||||
0307: ̇ COMBINING DOT ABOVE
|
||||
0308: ̈ COMBINING DIAERESIS
|
||||
0309: ̉ COMBINING HOOK ABOVE
|
||||
030A: ̊ COMBINING RING ABOVE
|
||||
030B: ̋ COMBINING DOUBLE ACUTE ACCENT
|
||||
030C: ̌ COMBINING CARON
|
||||
030D: ̍ COMBINING VERTICAL LINE ABOVE
|
||||
030E: ̎ COMBINING DOUBLE VERTICAL LINE ABOVE
|
||||
030F: ̏ COMBINING DOUBLE GRAVE ACCENT
|
||||
0310: ̐ COMBINING CANDRABINDU
|
||||
0311: ̑ COMBINING INVERTED BREVE
|
||||
0312: ̒ COMBINING TURNED COMMA ABOVE
|
||||
0313: ̓ COMBINING COMMA ABOVE
|
||||
0314: ̔ COMBINING REVERSED COMMA ABOVE
|
||||
0315: ̕ COMBINING COMMA ABOVE RIGHT
|
||||
0316: ̖ COMBINING GRAVE ACCENT BELOW
|
||||
0317: ̗ COMBINING ACUTE ACCENT BELOW
|
||||
0318: ̘ COMBINING LEFT TACK BELOW
|
||||
0319: ̙ COMBINING RIGHT TACK BELOW
|
||||
031A: ̚ COMBINING LEFT ANGLE ABOVE
|
||||
031B: ̛ COMBINING HORN
|
||||
031C: ̜ COMBINING LEFT HALF RING BELOW
|
||||
031D: ̝ COMBINING UP TACK BELOW
|
||||
031E: ̞ COMBINING DOWN TACK BELOW
|
||||
031F: ̟ COMBINING PLUS SIGN BELOW
|
||||
0320: ̠ COMBINING MINUS SIGN BELOW
|
||||
0321: ̡ COMBINING PALATALIZED HOOK BELOW
|
||||
0322: ̢ COMBINING RETROFLEX HOOK BELOW
|
||||
0323: ̣ COMBINING DOT BELOW
|
||||
0324: ̤ COMBINING DIAERESIS BELOW
|
||||
0325: ̥ COMBINING RING BELOW
|
||||
0326: ̦ COMBINING COMMA BELOW
|
||||
0327: ̧ COMBINING CEDILLA
|
||||
0328: ̨ COMBINING OGONEK
|
||||
0329: ̩ COMBINING VERTICAL LINE BELOW
|
||||
032A: ̪ COMBINING BRIDGE BELOW
|
||||
032B: ̫ COMBINING INVERTED DOUBLE ARCH BELOW
|
||||
032C: ̬ COMBINING CARON BELOW
|
||||
032D: ̭ COMBINING CIRCUMFLEX ACCENT BELOW
|
||||
032E: ̮ COMBINING BREVE BELOW
|
||||
032F: ̯ COMBINING INVERTED BREVE BELOW
|
||||
0330: ̰ COMBINING TILDE BELOW
|
||||
0331: ̱ COMBINING MACRON BELOW
|
||||
0332: ̲ COMBINING LOW LINE
|
||||
0333: ̳ COMBINING DOUBLE LOW LINE
|
||||
0334: ̴ COMBINING TILDE OVERLAY
|
||||
0335: ̵ COMBINING SHORT STROKE OVERLAY
|
||||
0336: ̶ COMBINING LONG STROKE OVERLAY
|
||||
0337: ̷ COMBINING SHORT SOLIDUS OVERLAY
|
||||
0338: ̸ COMBINING LONG SOLIDUS OVERLAY
|
||||
0339: ̹ COMBINING RIGHT HALF RING BELOW
|
||||
033A: ̺ COMBINING INVERTED BRIDGE BELOW
|
||||
033B: ̻ COMBINING SQUARE BELOW
|
||||
033C: ̼ COMBINING SEAGULL BELOW
|
||||
033D: ̽ COMBINING X ABOVE
|
||||
033E: ̾ COMBINING VERTICAL TILDE
|
||||
033F: ̿ COMBINING DOUBLE OVERLINE
|
||||
0340: ̀ COMBINING GRAVE TONE MARK
|
||||
0341: ́ COMBINING ACUTE TONE MARK
|
||||
0342: ͂ COMBINING GREEK PERISPOMENI
|
||||
0343: ̓ COMBINING GREEK KORONIS
|
||||
0344: ̈́ COMBINING GREEK DIALYTIKA TONOS
|
||||
0345: ͅ COMBINING GREEK YPOGEGRAMMENI
|
||||
0346: ͆ COMBINING BRIDGE ABOVE
|
||||
0347: ͇ COMBINING EQUALS SIGN BELOW
|
||||
0348: ͈ COMBINING DOUBLE VERTICAL LINE BELOW
|
||||
0349: ͉ COMBINING LEFT ANGLE BELOW
|
||||
034A: ͊ COMBINING NOT TILDE ABOVE
|
||||
034B: ͋ COMBINING HOMOTHETIC ABOVE
|
||||
034C: ͌ COMBINING ALMOST EQUAL TO ABOVE
|
||||
034D: ͍ COMBINING LEFT RIGHT ARROW BELOW
|
||||
034E: ͎ COMBINING UPWARDS ARROW BELOW
|
||||
034F: ͏ COMBINING GRAPHEME JOINER
|
||||
0350: ͐ COMBINING RIGHT ARROWHEAD ABOVE
|
||||
0351: ͑ COMBINING LEFT HALF RING ABOVE
|
||||
0352: ͒ COMBINING FERMATA
|
||||
0353: ͓ COMBINING X BELOW
|
||||
0354: ͔ COMBINING LEFT ARROWHEAD BELOW
|
||||
0355: ͕ COMBINING RIGHT ARROWHEAD BELOW
|
||||
0356: ͖ COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
|
||||
0357: ͗ COMBINING RIGHT HALF RING ABOVE
|
||||
0358: ͘ COMBINING DOT ABOVE RIGHT
|
||||
0359: ͙ COMBINING ASTERISK BELOW
|
||||
035A: ͚ COMBINING DOUBLE RING BELOW
|
||||
035B: ͛ COMBINING ZIGZAG ABOVE
|
||||
035C: ͜ COMBINING DOUBLE BREVE BELOW
|
||||
035D: ͝ COMBINING DOUBLE BREVE
|
||||
035E: ͞ COMBINING DOUBLE MACRON
|
||||
035F: ͟ COMBINING DOUBLE MACRON BELOW
|
||||
0360: ͠ COMBINING DOUBLE TILDE
|
||||
0361: ͡ COMBINING DOUBLE INVERTED BREVE
|
||||
0362: ͢ COMBINING DOUBLE RIGHTWARDS ARROW BELOW
|
||||
0363: ͣ COMBINING LATIN SMALL LETTER A
|
||||
0364: ͤ COMBINING LATIN SMALL LETTER E
|
||||
0365: ͥ COMBINING LATIN SMALL LETTER I
|
||||
0366: ͦ COMBINING LATIN SMALL LETTER O
|
||||
0367: ͧ COMBINING LATIN SMALL LETTER U
|
||||
0368: ͨ COMBINING LATIN SMALL LETTER C
|
||||
0369: ͩ COMBINING LATIN SMALL LETTER D
|
||||
036A: ͪ COMBINING LATIN SMALL LETTER H
|
||||
036B: ͫ COMBINING LATIN SMALL LETTER M
|
||||
036C: ͬ COMBINING LATIN SMALL LETTER R
|
||||
036D: ͭ COMBINING LATIN SMALL LETTER T
|
||||
036E: ͮ COMBINING LATIN SMALL LETTER V
|
||||
036F: ͯ COMBINING LATIN SMALL LETTER X
|
||||
|
||||
FE33: ︳ PRESENTATION FORM FOR VERTICAL LOW LINE
|
||||
FFFD: � REPLACEMENT CHARACTER
|
||||
|
@ -145,7 +145,19 @@ def generate_font(chars, outname, ttf, loadopts, size, renderstyle):
|
||||
fnt.write("%d\n" % charheight)
|
||||
glyphs.sort(key = lambda g: ord(g.char))
|
||||
for g in glyphs:
|
||||
fnt.write("%d %d %d %d %d %d %d %d\n" % (ord(g.char), g.pos.x, h-g.pos.y, g.w, g.h, -g.x0, g.y0, g.xadvance))
|
||||
x0 = g.x0
|
||||
y0 = g.y0
|
||||
# UGLY HACK: see http://trac.wildfiregames.com/ticket/1039 ;
|
||||
# to handle a-macron-acute characters without the hassle of
|
||||
# doing proper OpenType GPOS layout (which the Pagella font
|
||||
# doesn't support anyway), we'll just shift the combining acute
|
||||
# glyph by an arbitrary amount to make it roughly the right
|
||||
# place when used after an a-macron glyph.
|
||||
if ord(g.char) == 0x0301:
|
||||
y0 += charheight/3
|
||||
|
||||
fnt.write("%d %d %d %d %d %d %d %d\n" % (ord(g.char), g.pos.x, h-g.pos.y, g.w, g.h, -x0, y0, g.xadvance))
|
||||
|
||||
fnt.close()
|
||||
|
||||
return
|
||||
|
@ -16,6 +16,7 @@ for ( # (these are probably more than we really need)
|
||||
'Latin Extended Additional',
|
||||
'Spacing Modifier Letters',
|
||||
'General Punctuation',
|
||||
'Combining Diacritical Marks',
|
||||
) {
|
||||
print "# $_\n";
|
||||
for my $r (@{Unicode::UCD::charblock($_)}) {
|
||||
|
Loading…
Reference in New Issue
Block a user