Java Layout Tools
• NOTE: at present, the following was found by experimentation, in the absence of other docs.
• tools are in tools/misc under ICU4J
• running as (from ICU4J): "ant all ; cd tools/misc ; java -classpath ../../icu4j.jar:out/bin com.ibm.icu.dev.tool.layout.OpenTypeTagBuilder"
• likes to write into the source directory, such as (tools/misc)/src/com/ibm/icu/dev/tool/layout
Usage:
com.ibm.icu.dev.tool.layout.BuildMirroringTables
Writes MirroredCharData.cpp
com.ibm.icu.dev.tool.layout.CanonGSUBBuilder filename
writes to filename ( in the java layout dir), contents are actually CanonData.cpp
com.ibm.icu.dev.tool.layout.OpenTypeTagBuilder
writes contents of two enums in LETypes.h to stdout
Differences from what's checked in: (Manual updates!)
/* 'calt' */ instead of /**< 'calt' */
Tool is Missing these two:
LE_CJCT_FEATURE_TAG = 0x636A6374UL, /**< 'cjct' */
LE_RKRF_FEATURE_TAG = 0x726B7266UL, /**< 'rkrf' */
com.ibm.icu.dev.tool.layout.ScriptNameBuilder
writes LEScripts.h,
misses "qaaiScriptCode = zinhScriptCode /* manually added alias, for API stability */"
LELanguages.h,
ScriptAndLanguageTags.h, ScriptAndLanguageTags.cpp,
Misses the following:
-const LETag bng2ScriptTag = 0x626E6732; /* 'bng2' (BENGALI v.2) (manually added) */
-const LETag dev2ScriptTag = 0x64657632; /* 'dev2' (DEVANAGARI v.2) (manually added) */
-const LETag gjr2ScriptTag = 0x676A7232; /* 'gjr2' (GUJARATI v.2) (manually added) */
-const LETag gur2ScriptTag = 0x67757232; /* 'gur2' (GURMUKHI v.2) (manually added) */
-const LETag knd2ScriptTag = 0x6B6E6432; /* 'knd2' (KANNADA v.2) (manually added) */
-const LETag mlm2ScriptTag = 0x6D6C6D32; /* 'mlm2' (MALAYALAM v.2) (manually added) */
-const LETag ory2ScriptTag = 0x6F727932; /* 'ory2' (ORIYA v.2) (manually added) */
-const LETag tml2ScriptTag = 0x746D6C32; /* 'tml2' (TAMIL v.2) (manually added) */
-const LETag tel2ScriptTag = 0x74656C32; /* 'tel2' (TELUGU v.2) (manually added) */
ScriptRunData.cpp
updates file "ScriptAndLanguages"
com.ibm.icu.dev.tool.layout.ShapingTypeBuilder filename
writes to filename which is really ShapingTypeData.cpp
com.ibm.icu.dev.tool.layout.ThaiStateTableBuilder filename
writes to filename which is really ThaiStateTables.cpp