📄 character.java
字号:
default: return false; } } public static boolean isUnicodeIdentifierPart(char ch) { switch (getType(ch)) { case Lu: case Ll: case Lt: case Lm: case Lo: case Nd: case Pc: case Nl: case Mc: case Mn: return true; default: return isIdentifierIgnorable(ch); } } public static boolean isIdentifierIgnorable(char ch) { return ch <= 0x0008 || (0x000E <= ch && ch <= 0x001B) || (0x007F <= ch && ch <= 0x009F) || (0x200C <= ch && ch <= 0x200F) || (0x200A <= ch && ch <= 0x200E) || (0x206A <= ch && ch <= 0x206F) || ch == 0xFEFF; } /** * \todo Non-ASCII support. */ public static char toLowerCase(char ch) { if (ch >= 'A' && ch <= 'Z') return (char)(ch - 'A' + 'a'); return ch; } /** * \todo Non-ASCII support. */ public static char toUpperCase(char ch) { if (ch >= 'a' && ch <= 'z') return (char)(ch - 'a' + 'A'); return ch; } /** * \todo Non-ASCII support. */ public static char toTitleCase(char ch) { return ch; } /** * \todo Non-ASCII support. */ public static int digit(char ch, int radix) { if (radix < MIN_RADIX || radix > MAX_RADIX) return -1; if (ch >= '0' && ch <= '9' && ch < radix + '0') return ch - '0'; if (ch >= 'A' && ch <= 'Z' && ch < radix + 'A' - 10) return ch - 'A' + 10; if (ch >= 'a' && ch <= 'z' && ch < radix + 'a' - 10) return ch - 'a' + 10; return -1; } /** * \todo Not implemented yet. */ public static int getNumericValue(char ch) { throw new aegis.FeatureNotYetImplementedError(); } public static boolean isSpace(char ch) { switch (ch) { case '\t': case '\n': case '\f': case '\r': case ' ': return true; default: return false; } } public static boolean isSpaceChar(char ch) { switch (ch) { case Zs: case Zl: case Zp: return true; default: return false; } } public static boolean isWhitespace(char ch) { switch (ch) { case Zs: return ch != 0x00A0 && ch != 0xFEFF; case Zl: case Zp: return true; default: return (0x0009 <= ch && ch <= 0x000D) || (0x001C <= ch && ch <= 0x001F); } } public static boolean isISOControl(char ch) { return ch <= 0x001F || (0x007F <= ch && ch <= 0x009F); } /** * \todo Move the tables into inner classes so as to minimize * the size of static initializer. Need a long term * way of solving the problem (e.g. moving the whole * table into libjpr). */ /* * The implementation of getType is generated from the Unicode data * file (2.0.14) by the Java program Unicode.java under the * Tools/Unicode subdirectory in the CVS repository. Please * do not modify by hand. */ public static int getType(char ch) { if (ch <= 0x06ff) { return category_0000_06ff[ch - 0x0000]; } if (ch <= 0x08ff) { return Cn; } if (ch <= 0x11ff) { return category_0900_11ff[ch - 0x0900]; } if (ch <= 0x1dff) { return Cn; } if (ch <= 0x27bf) { return category_1e00_27bf[ch - 0x1e00]; } if (ch <= 0x2fff) { return Cn; } if (ch <= 0x33ff) { return category_3000_33ff[ch - 0x3000]; } if (ch <= 0x4dff) { return Cn; } if (ch <= 0x9f9f) { return Lo; } if (ch <= 0x9faf) { return category_9fa0_9faf[ch - 0x9fa0]; } if (ch <= 0xabff) { return Cn; } if (ch <= 0xd79f) { return Lo; } if (ch <= 0xd7ff) { return category_d7a0_d7ff[ch - 0xd7a0]; } if (ch <= 0xdfff) { return Cs; } if (ch <= 0xf8ff) { return Co; } return category_f900_ffff[ch - 0xf900]; } private static byte category_0000_06ff[] = { Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc, /* 0000 - 000f */ Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc, /* 0010 - 001f */ Zs,Po,Po,Po,Sc,Po,Po,Po,Ps,Pe,Po,Sm,Po,Pd,Po,Po, /* 0020 - 002f */ Nd,Nd,Nd,Nd,Nd,Nd,Nd,Nd,Nd,Nd,Po,Po,Sm,Sm,Sm,Po, /* 0030 - 003f */ Po,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 0040 - 004f */ Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Ps,Po,Pe,Sk,Pc, /* 0050 - 005f */ Sk,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0060 - 006f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ps,Sm,Pe,Sm,Cc, /* 0070 - 007f */ Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc, /* 0080 - 008f */ Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc,Cc, /* 0090 - 009f */ Zs,Po,Sc,Sc,Sc,Sc,So,So,Sk,So,Ll,Ps,Sm,Pd,So,Sk, /* 00a0 - 00af */ So,Sm,No,No,Sk,Ll,So,Po,Sk,No,Ll,Pe,No,No,No,Po, /* 00b0 - 00bf */ Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 00c0 - 00cf */ Lu,Lu,Lu,Lu,Lu,Lu,Lu,Sm,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Ll, /* 00d0 - 00df */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 00e0 - 00ef */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Sm,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 00f0 - 00ff */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0100 - 010f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0110 - 011f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0120 - 012f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu, /* 0130 - 013f */ Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0140 - 014f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0150 - 015f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0160 - 016f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Lu,Ll,Lu,Ll,Lu,Ll,Ll, /* 0170 - 017f */ Ll,Lu,Lu,Ll,Lu,Ll,Lu,Lu,Ll,Lu,Lu,Lu,Ll,Ll,Lu,Lu, /* 0180 - 018f */ Lu,Lu,Ll,Lu,Lu,Ll,Lu,Lu,Lu,Ll,Ll,Ll,Lu,Lu,Ll,Lu, /* 0190 - 019f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Lu,Ll,Lu,Lo,Ll,Lu,Ll,Lu,Lu, /* 01a0 - 01af */ Ll,Lu,Lu,Lu,Ll,Lu,Ll,Lu,Lu,Ll,Ll,Lo,Lu,Ll,Lo,Lo, /* 01b0 - 01bf */ Lo,Lo,Lo,Lo,Lu,Lt,Ll,Lu,Lt,Ll,Lu,Lt,Ll,Lu,Ll,Lu, /* 01c0 - 01cf */ Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Ll,Lu,Ll, /* 01d0 - 01df */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 01e0 - 01ef */ Ll,Lu,Lt,Ll,Lu,Ll,Cn,Cn,Cn,Cn,Lu,Ll,Lu,Ll,Lu,Ll, /* 01f0 - 01ff */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0200 - 020f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0210 - 021f */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0220 - 022f */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0230 - 023f */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0240 - 024f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0250 - 025f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0260 - 026f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0270 - 027f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0280 - 028f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0290 - 029f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 02a0 - 02af */ Lm,Lm,Lm,Lm,Lm,Lm,Lm,Lm,Lm,Sk,Sk,Lm,Lm,Lm,Lm,Lm, /* 02b0 - 02bf */ Lm,Lm,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk, /* 02c0 - 02cf */ Lm,Lm,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Sk,Cn, /* 02d0 - 02df */ Lm,Lm,Lm,Lm,Lm,Sk,Sk,Sk,Sk,Sk,Cn,Cn,Cn,Cn,Cn,Cn, /* 02e0 - 02ef */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 02f0 - 02ff */ Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn, /* 0300 - 030f */ Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn, /* 0310 - 031f */ Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn, /* 0320 - 032f */ Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn,Mn, /* 0330 - 033f */ Mn,Mn,Mn,Mn,Mn,Mn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0340 - 034f */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0350 - 035f */ Mn,Mn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0360 - 036f */ Cn,Cn,Cn,Cn,Po,Po,Cn,Cn,Cn,Cn,Lm,Cn,Cn,Cn,Po,Cn, /* 0370 - 037f */ Cn,Cn,Cn,Cn,Sk,Sk,Lu,Po,Lu,Lu,Lu,Cn,Lu,Cn,Lu,Lu, /* 0380 - 038f */ Ll,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 0390 - 039f */ Lu,Lu,Cn,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Ll,Ll,Ll,Ll, /* 03a0 - 03af */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 03b0 - 03bf */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Cn, /* 03c0 - 03cf */ Ll,Ll,Lu,Lu,Lu,Ll,Ll,Cn,Cn,Cn,Lu,Cn,Lu,Cn,Lu,Cn, /* 03d0 - 03df */ Lu,Cn,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 03e0 - 03ef */ Ll,Ll,Ll,Lo,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 03f0 - 03ff */ Cn,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Cn,Lu,Lu, /* 0400 - 040f */ Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 0410 - 041f */ Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 0420 - 042f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0430 - 043f */ Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll, /* 0440 - 044f */ Cn,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Ll,Cn,Ll,Ll, /* 0450 - 045f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0460 - 046f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0470 - 047f */ Lu,Ll,So,Mn,Mn,Mn,Mn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0480 - 048f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 0490 - 049f */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 04a0 - 04af */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 04b0 - 04bf */ Lo,Lu,Ll,Lu,Ll,Cn,Cn,Lu,Ll,Cn,Cn,Lu,Ll,Cn,Cn,Cn, /* 04c0 - 04cf */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll, /* 04d0 - 04df */ Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Lu,Ll,Cn,Cn,Lu,Ll, /* 04e0 - 04ef */ Lu,Ll,Lu,Ll,Lu,Ll,Cn,Cn,Lu,Ll,Cn,Cn,Cn,Cn,Cn,Cn, /* 04f0 - 04ff */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0500 - 050f */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0510 - 051f */ Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn,Cn, /* 0520 - 052f */ Cn,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 0530 - 053f */ Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu,Lu, /* 0540 - 054f */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -