/* */ package com.ibm.icu.text;
/* */
/* */ import com.ibm.icu.lang.UCharacter;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ class UnicodeNameTransliterator
/* */ extends Transliterator
/* */ {
/* */ static final String _ID = "Any-Name";
/* */ static final String OPEN_DELIM = "\\N{";
/* */ static final char CLOSE_DELIM = '}';
/* */ static final int OPEN_DELIM_LEN = 3;
/* */
/* */ static void register()
/* */ {
/* 25 */ Transliterator.registerFactory("Any-Name", new Transliterator.Factory() {
/* */ public Transliterator getInstance(String ID) {
/* 27 */ return new UnicodeNameTransliterator(null);
/* */ }
/* */ });
/* */ }
/* */
/* */
/* */
/* */ public UnicodeNameTransliterator(UnicodeFilter filter)
/* */ {
/* 36 */ super("Any-Name", filter);
/* */ }
/* */
/* */
/* */
/* */
/* */ protected void handleTransliterate(Replaceable text, Transliterator.Position offsets, boolean isIncremental)
/* */ {
/* 44 */ int cursor = offsets.start;
/* 45 */ int limit = offsets.limit;
/* */
/* 47 */ StringBuilder str = new StringBuilder();
/* 48 */ str.append("\\N{");
/* */
/* */
/* */
/* 52 */ while (cursor < limit) {
/* 53 */ int c = text.char32At(cursor);
/* 54 */ String name; if ((name = UCharacter.getExtendedName(c)) != null)
/* */ {
/* 56 */ str.setLength(3);
/* 57 */ str.append(name).append('}');
/* */
/* 59 */ int clen = UTF16.getCharCount(c);
/* 60 */ text.replace(cursor, cursor + clen, str.toString());
/* 61 */ int len = str.length();
/* 62 */ cursor += len;
/* 63 */ limit += len - clen;
/* */ } else {
/* 65 */ cursor++;
/* */ }
/* */ }
/* */
/* 69 */ offsets.contextLimit += limit - offsets.limit;
/* 70 */ offsets.limit = limit;
/* 71 */ offsets.start = cursor;
/* */ }
/* */
/* */
/* */
/* */
/* */ public void addSourceTargetSet(UnicodeSet inputFilter, UnicodeSet sourceSet, UnicodeSet targetSet)
/* */ {
/* 79 */ UnicodeSet myFilter = getFilterAsUnicodeSet(inputFilter);
/* 80 */ if (myFilter.size() > 0) {
/* 81 */ sourceSet.addAll(myFilter);
/* 82 */ targetSet.addAll(48, 57).addAll(65, 90).add(45).add(32).addAll("\\N{").add(125).addAll(97, 122).add(60).add(62).add(40).add(41);
/* */ }
/* */ }
/* */ }
/* Location: C:\Users\Ethan\Desktop\FontZip\FontTool\sfnttool.jar!\com\ibm\icu\text\UnicodeNameTransliterator.class
* Java compiler version: 5 (49.0)
* JD-Core Version: 0.7.1
*/