Design Docs‎ > ‎Layout‎ > ‎

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
Comments