summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/src/autofit
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2019-07-02 04:44:43 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2019-07-02 04:44:43 +0000
commitad5ffc75cdf78f6cf6160e4334d45be15dd48221 (patch)
tree7ca04b88be84c859c9d5f235758b69387929d667 /Build/source/libs/freetype2/freetype-src/src/autofit
parent5d1e6f4aeb765d13edda3c5c77f55614ff27c7fc (diff)
freetype 2.10.1
git-svn-id: svn://tug.org/texlive/trunk@51529 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/src/autofit')
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c7
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat10
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h139
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afcjk.c5
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afglobal.c11
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c58
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afranges.c15
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h6
-rw-r--r--Build/source/libs/freetype2/freetype-src/src/autofit/afstyles.h7
9 files changed, 178 insertions, 80 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c b/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c
index 28da159008e..b99dbeb19c0 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.c
@@ -296,6 +296,10 @@
'\0',
'\xE0', '\xB4', '\x9F', ' ', '\xE0', '\xB4', '\xA0', ' ', '\xE0', '\xB4', '\xA7', ' ', '\xE0', '\xB4', '\xB6', ' ', '\xE0', '\xB4', '\x98', ' ', '\xE0', '\xB4', '\x9A', ' ', '\xE0', '\xB4', '\xA5', ' ', '\xE0', '\xB4', '\xB2', /* ട ഠ ധ ശ ഘ ച ഥ ല */
'\0',
+ '\xE1', '\xA0', '\xB3', ' ', '\xE1', '\xA0', '\xB4', ' ', '\xE1', '\xA0', '\xB6', ' ', '\xE1', '\xA0', '\xBD', ' ', '\xE1', '\xA1', '\x82', ' ', '\xE1', '\xA1', '\x8A', ' ', '\xE2', '\x80', '\x8D', '\xE1', '\xA1', '\xA1', '\xE2', '\x80', '\x8D', ' ', '\xE2', '\x80', '\x8D', '\xE1', '\xA1', '\xB3', '\xE2', '\x80', '\x8D', /* ᠳ ᠴ ᠶ ᠽ ᡂ ᡊ ‍ᡡ‍ ‍ᡳ‍ */
+ '\0',
+ '\xE1', '\xA1', '\x83', /* ᡃ */
+ '\0',
'\xE1', '\x80', '\x81', ' ', '\xE1', '\x80', '\x82', ' ', '\xE1', '\x80', '\x84', ' ', '\xE1', '\x80', '\x92', ' ', '\xE1', '\x80', '\x9D', ' ', '\xE1', '\x81', '\xA5', ' ', '\xE1', '\x81', '\x8A', ' ', '\xE1', '\x81', '\x8B', /* ခ ဂ င ဒ ဝ ၥ ၊ ။ */
'\0',
'\xE1', '\x80', '\x84', ' ', '\xE1', '\x80', '\x8E', ' ', '\xE1', '\x80', '\x92', ' ', '\xE1', '\x80', '\x95', ' ', '\xE1', '\x80', '\x97', ' ', '\xE1', '\x80', '\x9D', ' ', '\xE1', '\x81', '\x8A', ' ', '\xE1', '\x81', '\x8B', /* င ဎ ဒ ပ ဗ ဝ ၊ ။ */
@@ -649,6 +653,9 @@
{ AF_BLUE_STRING_MALAYALAM_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_MALAYALAM_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 },
+ { AF_BLUE_STRING_MONGOLIAN_TOP_BASE, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_MONGOLIAN_BOTTOM_BASE, 0 },
+ { AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_MYANMAR_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
{ AF_BLUE_STRING_MYANMAR_BOTTOM, 0 },
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat b/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat
index 14a0993b61d..46db43fe224 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.dat
@@ -392,6 +392,11 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_MALAYALAM_BOTTOM
"ട ഠ ധ ശ ഘ ച ഥ ല"
+ AF_BLUE_STRING_MONGOLIAN_TOP_BASE
+ "ᠳ ᠴ ᠶ ᠽ ᡂ ᡊ ‍ᡡ‍ ‍ᡳ‍"
+ AF_BLUE_STRING_MONGOLIAN_BOTTOM_BASE
+ "ᡃ"
+
AF_BLUE_STRING_MYANMAR_TOP
"ခ ဂ င ဒ ဝ ၥ ၊ ။"
AF_BLUE_STRING_MYANMAR_BOTTOM
@@ -947,6 +952,11 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_MALAYALAM_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
+ AF_BLUE_STRINGSET_MONG
+ { AF_BLUE_STRING_MONGOLIAN_TOP_BASE, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_MONGOLIAN_BOTTOM_BASE, 0 }
+ { AF_BLUE_STRING_MAX, 0 }
+
AF_BLUE_STRINGSET_MYMR
{ AF_BLUE_STRING_MYANMAR_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h b/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h
index a2ff597b8eb..b69b1df521f 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afblue.h
@@ -212,56 +212,58 @@ FT_BEGIN_HEADER
AF_BLUE_STRING_LISU_BOTTOM = 3506,
AF_BLUE_STRING_MALAYALAM_TOP = 3538,
AF_BLUE_STRING_MALAYALAM_BOTTOM = 3582,
- AF_BLUE_STRING_MYANMAR_TOP = 3614,
- AF_BLUE_STRING_MYANMAR_BOTTOM = 3646,
- AF_BLUE_STRING_MYANMAR_ASCENDER = 3678,
- AF_BLUE_STRING_MYANMAR_DESCENDER = 3706,
- AF_BLUE_STRING_NKO_TOP = 3738,
- AF_BLUE_STRING_NKO_BOTTOM = 3762,
- AF_BLUE_STRING_NKO_SMALL_TOP = 3777,
- AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3786,
- AF_BLUE_STRING_OL_CHIKI = 3798,
- AF_BLUE_STRING_OLD_TURKIC_TOP = 3822,
- AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3837,
- AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3857,
- AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3897,
- AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3927,
- AF_BLUE_STRING_OSAGE_SMALL_TOP = 3942,
- AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3982,
- AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 4022,
- AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 4047,
- AF_BLUE_STRING_OSMANYA_TOP = 4062,
- AF_BLUE_STRING_OSMANYA_BOTTOM = 4102,
- AF_BLUE_STRING_SAURASHTRA_TOP = 4142,
- AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4174,
- AF_BLUE_STRING_SHAVIAN_TOP = 4194,
- AF_BLUE_STRING_SHAVIAN_BOTTOM = 4204,
- AF_BLUE_STRING_SHAVIAN_DESCENDER = 4229,
- AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4239,
- AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4274,
- AF_BLUE_STRING_SINHALA_TOP = 4289,
- AF_BLUE_STRING_SINHALA_BOTTOM = 4321,
- AF_BLUE_STRING_SINHALA_DESCENDER = 4353,
- AF_BLUE_STRING_SUNDANESE_TOP = 4397,
- AF_BLUE_STRING_SUNDANESE_BOTTOM = 4421,
- AF_BLUE_STRING_SUNDANESE_DESCENDER = 4453,
- AF_BLUE_STRING_TAI_VIET_TOP = 4461,
- AF_BLUE_STRING_TAI_VIET_BOTTOM = 4481,
- AF_BLUE_STRING_TAMIL_TOP = 4493,
- AF_BLUE_STRING_TAMIL_BOTTOM = 4525,
- AF_BLUE_STRING_TELUGU_TOP = 4557,
- AF_BLUE_STRING_TELUGU_BOTTOM = 4585,
- AF_BLUE_STRING_THAI_TOP = 4613,
- AF_BLUE_STRING_THAI_BOTTOM = 4637,
- AF_BLUE_STRING_THAI_ASCENDER = 4665,
- AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4677,
- AF_BLUE_STRING_THAI_DESCENDER = 4689,
- AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4705,
- AF_BLUE_STRING_THAI_DIGIT_TOP = 4713,
- AF_BLUE_STRING_TIFINAGH = 4725,
- AF_BLUE_STRING_VAI_TOP = 4757,
- AF_BLUE_STRING_VAI_BOTTOM = 4789,
- af_blue_1_1 = 4820,
+ AF_BLUE_STRING_MONGOLIAN_TOP_BASE = 3614,
+ AF_BLUE_STRING_MONGOLIAN_BOTTOM_BASE = 3658,
+ AF_BLUE_STRING_MYANMAR_TOP = 3662,
+ AF_BLUE_STRING_MYANMAR_BOTTOM = 3694,
+ AF_BLUE_STRING_MYANMAR_ASCENDER = 3726,
+ AF_BLUE_STRING_MYANMAR_DESCENDER = 3754,
+ AF_BLUE_STRING_NKO_TOP = 3786,
+ AF_BLUE_STRING_NKO_BOTTOM = 3810,
+ AF_BLUE_STRING_NKO_SMALL_TOP = 3825,
+ AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3834,
+ AF_BLUE_STRING_OL_CHIKI = 3846,
+ AF_BLUE_STRING_OLD_TURKIC_TOP = 3870,
+ AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3885,
+ AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3905,
+ AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3945,
+ AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3975,
+ AF_BLUE_STRING_OSAGE_SMALL_TOP = 3990,
+ AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 4030,
+ AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 4070,
+ AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 4095,
+ AF_BLUE_STRING_OSMANYA_TOP = 4110,
+ AF_BLUE_STRING_OSMANYA_BOTTOM = 4150,
+ AF_BLUE_STRING_SAURASHTRA_TOP = 4190,
+ AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4222,
+ AF_BLUE_STRING_SHAVIAN_TOP = 4242,
+ AF_BLUE_STRING_SHAVIAN_BOTTOM = 4252,
+ AF_BLUE_STRING_SHAVIAN_DESCENDER = 4277,
+ AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4287,
+ AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4322,
+ AF_BLUE_STRING_SINHALA_TOP = 4337,
+ AF_BLUE_STRING_SINHALA_BOTTOM = 4369,
+ AF_BLUE_STRING_SINHALA_DESCENDER = 4401,
+ AF_BLUE_STRING_SUNDANESE_TOP = 4445,
+ AF_BLUE_STRING_SUNDANESE_BOTTOM = 4469,
+ AF_BLUE_STRING_SUNDANESE_DESCENDER = 4501,
+ AF_BLUE_STRING_TAI_VIET_TOP = 4509,
+ AF_BLUE_STRING_TAI_VIET_BOTTOM = 4529,
+ AF_BLUE_STRING_TAMIL_TOP = 4541,
+ AF_BLUE_STRING_TAMIL_BOTTOM = 4573,
+ AF_BLUE_STRING_TELUGU_TOP = 4605,
+ AF_BLUE_STRING_TELUGU_BOTTOM = 4633,
+ AF_BLUE_STRING_THAI_TOP = 4661,
+ AF_BLUE_STRING_THAI_BOTTOM = 4685,
+ AF_BLUE_STRING_THAI_ASCENDER = 4713,
+ AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4725,
+ AF_BLUE_STRING_THAI_DESCENDER = 4737,
+ AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4753,
+ AF_BLUE_STRING_THAI_DIGIT_TOP = 4761,
+ AF_BLUE_STRING_TIFINAGH = 4773,
+ AF_BLUE_STRING_VAI_TOP = 4805,
+ AF_BLUE_STRING_VAI_BOTTOM = 4837,
+ af_blue_1_1 = 4868,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203,
@@ -355,24 +357,25 @@ FT_BEGIN_HEADER
AF_BLUE_STRINGSET_LATP = 166,
AF_BLUE_STRINGSET_LISU = 173,
AF_BLUE_STRINGSET_MLYM = 176,
- AF_BLUE_STRINGSET_MYMR = 179,
- AF_BLUE_STRINGSET_NKOO = 184,
- AF_BLUE_STRINGSET_NONE = 189,
- AF_BLUE_STRINGSET_OLCK = 190,
- AF_BLUE_STRINGSET_ORKH = 193,
- AF_BLUE_STRINGSET_OSGE = 196,
- AF_BLUE_STRINGSET_OSMA = 204,
- AF_BLUE_STRINGSET_SAUR = 207,
- AF_BLUE_STRINGSET_SHAW = 210,
- AF_BLUE_STRINGSET_SINH = 216,
- AF_BLUE_STRINGSET_SUND = 220,
- AF_BLUE_STRINGSET_TAML = 224,
- AF_BLUE_STRINGSET_TAVT = 227,
- AF_BLUE_STRINGSET_TELU = 230,
- AF_BLUE_STRINGSET_TFNG = 233,
- AF_BLUE_STRINGSET_THAI = 236,
- AF_BLUE_STRINGSET_VAII = 244,
- af_blue_2_1 = 247,
+ AF_BLUE_STRINGSET_MONG = 179,
+ AF_BLUE_STRINGSET_MYMR = 182,
+ AF_BLUE_STRINGSET_NKOO = 187,
+ AF_BLUE_STRINGSET_NONE = 192,
+ AF_BLUE_STRINGSET_OLCK = 193,
+ AF_BLUE_STRINGSET_ORKH = 196,
+ AF_BLUE_STRINGSET_OSGE = 199,
+ AF_BLUE_STRINGSET_OSMA = 207,
+ AF_BLUE_STRINGSET_SAUR = 210,
+ AF_BLUE_STRINGSET_SHAW = 213,
+ AF_BLUE_STRINGSET_SINH = 219,
+ AF_BLUE_STRINGSET_SUND = 223,
+ AF_BLUE_STRINGSET_TAML = 227,
+ AF_BLUE_STRINGSET_TAVT = 230,
+ AF_BLUE_STRINGSET_TELU = 233,
+ AF_BLUE_STRINGSET_TFNG = 236,
+ AF_BLUE_STRINGSET_THAI = 239,
+ AF_BLUE_STRINGSET_VAII = 247,
+ af_blue_2_1 = 250,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
af_blue_2_1_1 = af_blue_2_1 + 2,
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afcjk.c b/Build/source/libs/freetype2/freetype-src/src/autofit/afcjk.c
index 3b2b1cf24ce..a61689bee35 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afcjk.c
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afcjk.c
@@ -1184,6 +1184,8 @@
seg = edge->first;
+ if ( !seg )
+ goto Skip_Loop;
do
{
@@ -1239,13 +1241,14 @@
edge2->flags |= AF_EDGE_SERIF;
}
else
- edge->link = edge2;
+ edge->link = edge2;
}
seg = seg->edge_next;
} while ( seg != edge->first );
+ Skip_Loop:
/* set the round/straight flags */
edge->flags = AF_EDGE_NORMAL;
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afglobal.c b/Build/source/libs/freetype2/freetype-src/src/autofit/afglobal.c
index 7183ce4a780..6a9a1e5aaaa 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afglobal.c
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afglobal.c
@@ -443,6 +443,7 @@
style = (AF_Style)( globals->glyph_styles[gindex] &
AF_STYLE_UNASSIGNED );
+ Again:
style_class = af_style_classes[style];
writing_system_class = af_writing_system_classes
[style_class->writing_system];
@@ -470,6 +471,16 @@
writing_system_class->style_metrics_done( metrics );
FT_FREE( metrics );
+
+ /* internal error code -1 indicates */
+ /* that no blue zones have been found */
+ if ( error == -1 )
+ {
+ style = (AF_Style)( globals->glyph_styles[gindex] &
+ AF_STYLE_UNASSIGNED );
+ goto Again;
+ }
+
goto Exit;
}
}
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c b/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c
index dccdcaf3457..27d40248829 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/aflatin.c
@@ -149,7 +149,11 @@
af_shaper_buf_destroy( face, shaper_buf );
if ( !glyph_index )
+ {
+ FT_TRACE5(( "standard character missing;"
+ " using fallback stem widths\n" ));
goto Exit;
+ }
FT_TRACE5(( "standard character: U+%04lX (glyph index %d)\n",
ch, glyph_index ));
@@ -312,7 +316,7 @@
/* Find all blue zones. Flat segments give the reference points, */
/* round segments the overshoot positions. */
- static void
+ static int
af_latin_metrics_init_blues( AF_LatinMetrics metrics,
FT_Face face )
{
@@ -981,10 +985,11 @@
af_shaper_buf_destroy( face, shaper_buf );
- /* we finally check whether blue zones are ordered; */
- /* `ref' and `shoot' values of two blue zones must not overlap */
if ( axis->blue_count )
{
+ /* we finally check whether blue zones are ordered; */
+ /* `ref' and `shoot' values of two blue zones must not overlap */
+
FT_UInt i;
AF_LatinBlue blue_sorted[AF_BLUE_STRINGSET_MAX_LEN + 2];
@@ -1033,11 +1038,34 @@
*a ));
}
}
+
+ FT_TRACE5(( "\n" ));
+
+ return 0;
}
+ else
+ {
+ /* disable hinting for the current style if there are no blue zones */
- FT_TRACE5(( "\n" ));
+ AF_FaceGlobals globals = metrics->root.globals;
+ FT_UShort* gstyles = globals->glyph_styles;
+
+ FT_Long i;
+
+
+ FT_TRACE5(( "no blue zones found:"
+ " hinting disabled for this style\n" ));
- return;
+ for ( i = 0; i < globals->glyph_count; i++ )
+ {
+ if ( ( gstyles[i] & AF_STYLE_MASK ) == sc->style )
+ gstyles[i] = AF_STYLE_NONE_DFLT;
+ }
+
+ FT_TRACE5(( "\n" ));
+
+ return 1;
+ }
}
@@ -1116,6 +1144,8 @@
af_latin_metrics_init( AF_LatinMetrics metrics,
FT_Face face )
{
+ FT_Error error = FT_Err_Ok;
+
FT_CharMap oldmap = face->charmap;
@@ -1124,12 +1154,18 @@
if ( !FT_Select_Charmap( face, FT_ENCODING_UNICODE ) )
{
af_latin_metrics_init_widths( metrics, face );
- af_latin_metrics_init_blues( metrics, face );
+ if ( af_latin_metrics_init_blues( metrics, face ) )
+ {
+ /* use internal error code to indicate missing blue zones */
+ error = -1;
+ goto Exit;
+ }
af_latin_metrics_check_digits( metrics, face );
}
+ Exit:
FT_Set_Charmap( face, oldmap );
- return FT_Err_Ok;
+ return error;
}
@@ -1443,13 +1479,13 @@
nn,
blue->ref.org,
blue->ref.fit / 64.0,
- blue->flags & AF_LATIN_BLUE_ACTIVE ? ""
- : " (inactive)",
+ ( blue->flags & AF_LATIN_BLUE_ACTIVE ) ? ""
+ : " (inactive)",
nn,
blue->shoot.org,
blue->shoot.fit / 64.0,
- blue->flags & AF_LATIN_BLUE_ACTIVE ? ""
- : " (inactive)" ));
+ ( blue->flags & AF_LATIN_BLUE_ACTIVE ) ? ""
+ : " (inactive)" ));
}
#endif
}
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afranges.c b/Build/source/libs/freetype2/freetype-src/src/autofit/afranges.c
index c0dba818a13..45c8bbfc95b 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afranges.c
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afranges.c
@@ -664,6 +664,21 @@
};
+ const AF_Script_UniRangeRec af_mong_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x1800, 0x18AF ), /* Mongolian */
+ AF_UNIRANGE_REC( 0x11660, 0x1167F ), /* Mongolian Supplement */
+ AF_UNIRANGE_REC( 0, 0 )
+ };
+
+ const AF_Script_UniRangeRec af_mong_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x1885, 0x1886 ),
+ AF_UNIRANGE_REC( 0x18A9, 0x18A9 ),
+ AF_UNIRANGE_REC( 0, 0 )
+ };
+
+
const AF_Script_UniRangeRec af_mymr_uniranges[] =
{
AF_UNIRANGE_REC( 0x1000, 0x109F ), /* Myanmar */
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h b/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h
index c2f0c7ac60a..2da8c701834 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afscript.h
@@ -243,6 +243,12 @@
HINTING_BOTTOM_TO_TOP,
"\xE0\xB4\xA0 \xE0\xB4\xB1" ) /* ഠ റ */
+ SCRIPT( mong, MONG,
+ "Mongolian",
+ HB_SCRIPT_MONGOLIAN,
+ HINTING_TOP_TO_BOTTOM,
+ "\xE1\xA1\x82 \xE1\xA0\xAA" ) /* ᡂ ᠪ */
+
SCRIPT( mymr, MYMR,
"Myanmar",
HB_SCRIPT_MYANMAR,
diff --git a/Build/source/libs/freetype2/freetype-src/src/autofit/afstyles.h b/Build/source/libs/freetype2/freetype-src/src/autofit/afstyles.h
index edf4f54edd7..8d1d70812f1 100644
--- a/Build/source/libs/freetype2/freetype-src/src/autofit/afstyles.h
+++ b/Build/source/libs/freetype2/freetype-src/src/autofit/afstyles.h
@@ -322,6 +322,13 @@
AF_BLUE_STRINGSET_MLYM,
AF_COVERAGE_DEFAULT )
+ STYLE( mong_dflt, MONG_DFLT,
+ "Mongolian default style",
+ AF_WRITING_SYSTEM_LATIN,
+ AF_SCRIPT_MONG,
+ AF_BLUE_STRINGSET_MONG,
+ AF_COVERAGE_DEFAULT )
+
STYLE( mymr_dflt, MYMR_DFLT,
"Myanmar default style",
AF_WRITING_SYSTEM_LATIN,