12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others. 22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 3bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert/* 4bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ******************************************************************************* 5bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Copyright (C) 1998-2008, International Business Machines Corporation and * 6bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * others. All Rights Reserved. * 7bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ******************************************************************************* 8bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */ 9bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertpackage com.ibm.icu.dev.tool.layout; 10bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 11bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertpublic class ScriptNameBuilder 12bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert{ 13bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert /* 14bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * This tool builds the script related header files and data tables needed by 15bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * the ICU LayoutEngine. By using the ICU4J interfaces to access the script 16bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * information, we can be sure that the data written by this tool is in synch 17bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * with ICU. 18bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */ 19bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public static void main(String[] args) 20bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 21bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ScriptData scriptData = new ScriptData(); 22bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert LanguageData languageData = new LanguageData(); 23bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 24bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ScriptIDModuleWriter scriptIDModuleWriter = new ScriptIDModuleWriter(scriptData, languageData); 25bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 26bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert scriptIDModuleWriter.writeScriptHeader("LEScripts.h"); 27bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert scriptIDModuleWriter.writeLanguageHeader("LELanguages.h"); 28bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 29bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert scriptIDModuleWriter.updateScriptAndLanguages(); 30bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 31bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ScriptTagModuleWriter scriptTagModuleWriter = new ScriptTagModuleWriter(scriptData, languageData); 32bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 33bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert scriptTagModuleWriter.writeScriptTags("ScriptAndLanguageTags"); 34bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 35bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ScriptRunModuleWriter scriptRunModuleWriter = new ScriptRunModuleWriter(scriptData); 36bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 37bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert scriptRunModuleWriter.writeScriptRuns("ScriptRunData.cpp"); 38bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 39bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert}