304 */ 305 CHAM ('\uaa50', '\uaa00', '\uaa60'), 306 /** 307 * The Tai Tham Hora range with the Tai Tham Hora digits. 308 */ 309 TAI_THAM_HORA ('\u1a80', '\u1a20', '\u1ab0'), 310 /** 311 * The Tai Tham Tham range with the Tai Tham Tham digits. 312 */ 313 TAI_THAM_THAM ('\u1a90', '\u1a20', '\u1ab0'), 314 /** 315 * The Javanese range with the Javanese digits. 316 */ 317 JAVANESE ('\ua9d0', '\ua980', '\ua9e0'), 318 /** 319 * The Meetei Mayek range with the Meetei Mayek digits. 320 */ 321 MEETEI_MAYEK ('\uabf0', '\uabc0', '\uac00'), 322 /** 323 * The Sinhala range with the Sinhala digits. 324 * @since 1.9 325 */ 326 SINHALA ('\u0de6', '\u0d80', '\u0e00'), 327 /** 328 * The Myanmar Extended-B range with the Myanmar Tai Laing digits. 329 * @since 1.9 330 */ 331 MYANMAR_TAI_LAING ('\ua9f0', '\ua9e0', '\uaa00'); 332 333 private static int toRangeIndex(Range script) { 334 int index = script.ordinal(); 335 return index < NUM_KEYS ? index : -1; 336 } 337 338 private static Range indexToRange(int index) { 339 return index < NUM_KEYS ? Range.values()[index] : null; 340 } 341 342 private static int toRangeMask(Set<Range> ranges) { 343 int m = 0; 344 for (Range range : ranges) { 345 int index = range.ordinal(); 346 if (index < NUM_KEYS) { 347 m |= 1 << index; 348 } 349 } | 304 */ 305 CHAM ('\uaa50', '\uaa00', '\uaa60'), 306 /** 307 * The Tai Tham Hora range with the Tai Tham Hora digits. 308 */ 309 TAI_THAM_HORA ('\u1a80', '\u1a20', '\u1ab0'), 310 /** 311 * The Tai Tham Tham range with the Tai Tham Tham digits. 312 */ 313 TAI_THAM_THAM ('\u1a90', '\u1a20', '\u1ab0'), 314 /** 315 * The Javanese range with the Javanese digits. 316 */ 317 JAVANESE ('\ua9d0', '\ua980', '\ua9e0'), 318 /** 319 * The Meetei Mayek range with the Meetei Mayek digits. 320 */ 321 MEETEI_MAYEK ('\uabf0', '\uabc0', '\uac00'), 322 /** 323 * The Sinhala range with the Sinhala digits. 324 * @since 9 325 */ 326 SINHALA ('\u0de6', '\u0d80', '\u0e00'), 327 /** 328 * The Myanmar Extended-B range with the Myanmar Tai Laing digits. 329 * @since 9 330 */ 331 MYANMAR_TAI_LAING ('\ua9f0', '\ua9e0', '\uaa00'); 332 333 private static int toRangeIndex(Range script) { 334 int index = script.ordinal(); 335 return index < NUM_KEYS ? index : -1; 336 } 337 338 private static Range indexToRange(int index) { 339 return index < NUM_KEYS ? Range.values()[index] : null; 340 } 341 342 private static int toRangeMask(Set<Range> ranges) { 343 int m = 0; 344 for (Range range : ranges) { 345 int index = range.ordinal(); 346 if (index < NUM_KEYS) { 347 m |= 1 << index; 348 } 349 } |