2 **********************************************************************
\r
3 * Copyright (c) 2001-2010, International Business Machines
\r
4 * Corporation and others. All Rights Reserved.
\r
5 **********************************************************************
\r
6 * Date Name Description
\r
7 * 11/29/2001 aliu Creation.
\r
8 **********************************************************************
\r
10 package com.ibm.icu.dev.tool.translit;
\r
11 import com.ibm.icu.text.Normalizer;
\r
12 import com.ibm.icu.text.Transliterator;
\r
13 import com.ibm.icu.text.UnicodeSet;
\r
16 * Adjunct class to getIndexFilters.bat. Just generates source sets
\r
17 * and their closures.
\r
19 * Usage: ID [ NFD|NFKD [lower] ]
\r
21 * java -classpath classes com.ibm.icu.dev.tool.translit.genIndexFilters
\r
22 * Latin-Greek NFD lower
\r
24 * The 'NFD'|'NFKD' and 'lower' args are optional, but 'lower' can
\r
25 * only be specified if 'NFD' or 'NFKD' is.
\r
27 * DO NOT CHANGE OUTPUT FORMAT. This tool's output is read by a Perl
\r
30 public class genIndexFilters {
\r
32 public static void main(String[] args) {
\r
33 Normalizer.Mode m = Normalizer.NONE;
\r
34 boolean lowerFirst = false;
\r
35 if (args.length >= 2) {
\r
36 if (args[1].equalsIgnoreCase("NFD")) {
\r
38 } else if (args[1].equalsIgnoreCase("NFKD")) {
\r
39 m = Normalizer.NFKD;
\r
44 if (args.length >= 3) {
\r
45 if (args[2].equalsIgnoreCase("lower")) {
\r
51 if (args.length > 3) {
\r
54 showSourceSet(args[0], m, lowerFirst);
\r
57 static void showSourceSet(String ID, Normalizer.Mode m, boolean lowerFirst) {
\r
58 Transliterator t = Transliterator.getInstance(ID);
\r
59 UnicodeSet sourceSet = t.getSourceSet();
\r
60 if (m != Normalizer.NONE || lowerFirst) {
\r
61 UnicodeSetClosure.close(sourceSet, m, lowerFirst);
\r
63 System.out.println(sourceSet.toPattern(true));
\r
66 static void usage() {
\r
67 System.err.println("Usage: ID [ NFD|NFKD [lower] ]");
\r