ref: 44324b3746461f186e6b3c0e744b0fd823705ba3
parent: a5952d3049ff880bb8eea94f045b32575e59b58f
author: Werner Lemberg <[email protected]>
date: Thu Feb 25 01:58:47 EST 2016
[autofit] Add blue-zone support for Tamil script. This essentially moves the Tamil script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Tamil. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Tamli standard character and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Tamil data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Tamil data; in particular, use AF_WRITING_SYSTEM_LATIN.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2016-02-25 Werner Lemberg <[email protected]>
+
+ [autofit] Add blue-zone support for Tamil script.
+
+ This essentially moves the Tamil script from the `Indic' hinter to
+ the `Latin' hinter.
+
+ * src/autofit/afblue.dat: Add blue zone data for Tamil.
+
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+ * src/autofit/afscript.h: Add Tamli standard character and move data
+ out of AF_CONFIG_OPTION_INDIC block.
+
+ * src/autofit/afranges.c: Move Tamil data out of
+ AF_CONFIG_OPTION_INDIC block.
+
+ * src/autofit/afstyles.h: Update Tamil data; in particular, use
+ AF_WRITING_SYSTEM_LATIN.
+
2016-02-18 Werner Lemberg <[email protected]>
[autofit] Add blue-zone support for Malayalam script.
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -140,6 +140,10 @@
'\0',
'\xE1', '\x80', '\x89', ' ', '\xE1', '\x80', '\x8A', ' ', '\xE1', '\x80', '\xA5', ' ', '\xE1', '\x80', '\xA9', ' ', '\xE1', '\x80', '\xA8', ' ', '\xE1', '\x81', '\x82', ' ', '\xE1', '\x81', '\x85', ' ', '\xE1', '\x81', '\x89', /* ဉ ည ဥ ဩ ဨ ၂ ၅ ၉ */
'\0',
+ '\xE0', '\xAE', '\x89', ' ', '\xE0', '\xAE', '\x92', ' ', '\xE0', '\xAE', '\x93', ' ', '\xE0', '\xAE', '\xB1', ' ', '\xE0', '\xAE', '\x88', ' ', '\xE0', '\xAE', '\x95', ' ', '\xE0', '\xAE', '\x99', ' ', '\xE0', '\xAE', '\x9A', /* உ ஒ ஓ ற ஈ க ங ச */
+ '\0',
+ '\xE0', '\xAE', '\x95', ' ', '\xE0', '\xAE', '\x9A', ' ', '\xE0', '\xAE', '\xB2', ' ', '\xE0', '\xAE', '\xB6', ' ', '\xE0', '\xAE', '\x89', ' ', '\xE0', '\xAE', '\x99', ' ', '\xE0', '\xAE', '\x9F', ' ', '\xE0', '\xAE', '\xAA', /* க ச ல ஶ உ ங ட ப */
+ '\0',
'\xE0', '\xB0', '\x87', ' ', '\xE0', '\xB0', '\x8C', ' ', '\xE0', '\xB0', '\x99', ' ', '\xE0', '\xB0', '\x9E', ' ', '\xE0', '\xB0', '\xA3', ' ', '\xE0', '\xB0', '\xB1', ' ', '\xE0', '\xB1', '\xAF', /* ఇ ఌ ఙ ఞ ణ ఱ ౯ */
'\0',
'\xE0', '\xB0', '\x85', ' ', '\xE0', '\xB0', '\x95', ' ', '\xE0', '\xB0', '\x9A', ' ', '\xE0', '\xB0', '\xB0', ' ', '\xE0', '\xB0', '\xBD', ' ', '\xE0', '\xB1', '\xA8', ' ', '\xE0', '\xB1', '\xAC', /* అ క చ ర ఽ ౨ ౬ */
@@ -300,6 +304,9 @@
{ AF_BLUE_STRING_MYANMAR_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_MYANMAR_DESCENDER, 0 },
{ AF_BLUE_STRING_MAX, 0 },
+ { AF_BLUE_STRING_TAMIL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
+ { AF_BLUE_STRING_TAMIL_BOTTOM, 0 },
+ { AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_TELUGU_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 },
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -214,6 +214,11 @@
AF_BLUE_STRING_MYANMAR_DESCENDER
"ဉ ည ဥ ဩ ဨ ၂ ၅ ၉"
+ AF_BLUE_STRING_TAMIL_TOP
+ "உ ஒ ஓ ற ஈ க ங ச"
+ AF_BLUE_STRING_TAMIL_BOTTOM
+ "க ச ல ஶ உ ங ட ப"
+
AF_BLUE_STRING_TELUGU_TOP
"ఇ ఌ ఙ ఞ ణ ఱ ౯"
AF_BLUE_STRING_TELUGU_BOTTOM
@@ -521,6 +526,11 @@
{ AF_BLUE_STRING_MYANMAR_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_MYANMAR_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
+
+ AF_BLUE_STRINGSET_TAML
+ { AF_BLUE_STRING_TAMIL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
+ { AF_BLUE_STRING_TAMIL_BOTTOM, 0 }
+ { AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_TELU
{ AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -134,16 +134,18 @@
AF_BLUE_STRING_MYANMAR_BOTTOM = 1316,
AF_BLUE_STRING_MYANMAR_ASCENDER = 1348,
AF_BLUE_STRING_MYANMAR_DESCENDER = 1376,
- AF_BLUE_STRING_TELUGU_TOP = 1408,
- AF_BLUE_STRING_TELUGU_BOTTOM = 1436,
- AF_BLUE_STRING_THAI_TOP = 1464,
- AF_BLUE_STRING_THAI_BOTTOM = 1488,
- AF_BLUE_STRING_THAI_ASCENDER = 1516,
- AF_BLUE_STRING_THAI_LARGE_ASCENDER = 1528,
- AF_BLUE_STRING_THAI_DESCENDER = 1540,
- AF_BLUE_STRING_THAI_LARGE_DESCENDER = 1556,
- AF_BLUE_STRING_THAI_DIGIT_TOP = 1564,
- af_blue_1_1 = 1575,
+ AF_BLUE_STRING_TAMIL_TOP = 1408,
+ AF_BLUE_STRING_TAMIL_BOTTOM = 1440,
+ AF_BLUE_STRING_TELUGU_TOP = 1472,
+ AF_BLUE_STRING_TELUGU_BOTTOM = 1500,
+ AF_BLUE_STRING_THAI_TOP = 1528,
+ AF_BLUE_STRING_THAI_BOTTOM = 1552,
+ AF_BLUE_STRING_THAI_ASCENDER = 1580,
+ AF_BLUE_STRING_THAI_LARGE_ASCENDER = 1592,
+ AF_BLUE_STRING_THAI_DESCENDER = 1604,
+ AF_BLUE_STRING_THAI_LARGE_DESCENDER = 1620,
+ AF_BLUE_STRING_THAI_DIGIT_TOP = 1628,
+ af_blue_1_1 = 1639,
#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,
@@ -217,9 +219,10 @@
AF_BLUE_STRINGSET_LATP = 64,
AF_BLUE_STRINGSET_MLYM = 71,
AF_BLUE_STRINGSET_MYMR = 74,
- AF_BLUE_STRINGSET_TELU = 79,
- AF_BLUE_STRINGSET_THAI = 82,
- af_blue_2_1 = 90,
+ AF_BLUE_STRINGSET_TAML = 79,
+ AF_BLUE_STRINGSET_TELU = 82,
+ AF_BLUE_STRINGSET_THAI = 85,
+ af_blue_2_1 = 93,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
af_blue_2_1_1 = af_blue_2_1 + 2,
--- a/src/autofit/afranges.c
+++ b/src/autofit/afranges.c
@@ -406,6 +406,21 @@
};
+ const AF_Script_UniRangeRec af_taml_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0B80UL, 0x0BFFUL ), /* Tamil */
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+ const AF_Script_UniRangeRec af_taml_nonbase_uniranges[] =
+ {
+ AF_UNIRANGE_REC( 0x0B82UL, 0x0B82UL ),
+ AF_UNIRANGE_REC( 0x0BC0UL, 0x0BC2UL ),
+ AF_UNIRANGE_REC( 0x0BCDUL, 0x0BCDUL ),
+ AF_UNIRANGE_REC( 0UL, 0UL )
+ };
+
+
const AF_Script_UniRangeRec af_telu_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C00UL, 0x0C7FUL ), /* Telugu */
@@ -547,21 +562,6 @@
AF_UNIRANGE_REC( 0xA806UL, 0xA806UL ),
AF_UNIRANGE_REC( 0xA80BUL, 0xA80BUL ),
AF_UNIRANGE_REC( 0xA825UL, 0xA826UL ),
- AF_UNIRANGE_REC( 0UL, 0UL )
- };
-
-
- const AF_Script_UniRangeRec af_taml_uniranges[] =
- {
- AF_UNIRANGE_REC( 0x0B80UL, 0x0BFFUL ), /* Tamil */
- AF_UNIRANGE_REC( 0UL, 0UL )
- };
-
- const AF_Script_UniRangeRec af_taml_nonbase_uniranges[] =
- {
- AF_UNIRANGE_REC( 0x0B82UL, 0x0B82UL ),
- AF_UNIRANGE_REC( 0x0BC0UL, 0x0BC2UL ),
- AF_UNIRANGE_REC( 0x0BCDUL, 0x0BCDUL ),
AF_UNIRANGE_REC( 0UL, 0UL )
};
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -129,6 +129,13 @@
HINTING_BOTTOM_TO_TOP,
"" )
+ /* only digit zero has a simple (round) shape in the Tamil script */
+ SCRIPT( taml, TAML,
+ "Tamil",
+ HB_SCRIPT_TAMIL,
+ HINTING_BOTTOM_TO_TOP,
+ "\xE0\xAF\xA6" ) /* ௦ */
+
/* there are no simple forms for letters; we thus use two digit shapes */
SCRIPT( telu, TELU,
"Telugu",
@@ -183,12 +190,6 @@
SCRIPT( sylo, SYLO,
"Syloti Nagri",
HB_SCRIPT_SYLOTI_NAGRI,
- HINTING_BOTTOM_TO_TOP,
- "o" ) /* XXX */
-
- SCRIPT( taml, TAML,
- "Tamil",
- HB_SCRIPT_TAMIL,
HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
--- a/src/autofit/afstyles.h
+++ b/src/autofit/afstyles.h
@@ -189,6 +189,13 @@
(AF_Blue_Stringset)0,
AF_COVERAGE_DEFAULT )
+ STYLE( taml_dflt, TAML_DFLT,
+ "Tamil default style",
+ AF_WRITING_SYSTEM_LATIN,
+ AF_SCRIPT_TAML,
+ AF_BLUE_STRINGSET_TAML,
+ AF_COVERAGE_DEFAULT )
+
STYLE( telu_dflt, TELU_DFLT,
"Telugu default style",
AF_WRITING_SYSTEM_LATIN,
@@ -222,7 +229,6 @@
STYLE_DEFAULT_INDIC( sinh, SINH, "Sinhala" )
STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" )
STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" )
- STYLE_DEFAULT_INDIC( taml, TAML, "Tamil" )
STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" )
#endif /* AF_CONFIG_OPTION_INDIC */