/* XOWA: the XOWA Offline Wiki Application Copyright (C) 2012 gnosygnu@gmail.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx; public class Byte_ascii { public static final byte Null = 0 , Backfeed = 8, Tab = 9 , Nl = 10, Formfeed = 12, Cr = 13 , Escape = 27 , Space = 32, Bang = 33, Quote = 34 , Hash = 35, Dollar = 36, Percent = 37, Amp = 38, Apos = 39 , Paren_bgn = 40, Paren_end = 41, Star = 42, Plus = 43, Comma = 44 , Dash = 45, Dot = 46, Slash = 47, Num_0 = 48, Num_1 = 49 , Num_2 = 50, Num_3 = 51, Num_4 = 52, Num_5 = 53, Num_6 = 54 , Num_7 = 55, Num_8 = 56, Num_9 = 57, Colon = 58, Semic = 59 , Lt = 60, Eq = 61, Gt = 62, Question = 63, At = 64 , Ltr_A = 65, Ltr_B = 66, Ltr_C = 67, Ltr_D = 68, Ltr_E = 69 , Ltr_F = 70, Ltr_G = 71, Ltr_H = 72, Ltr_I = 73, Ltr_J = 74 , Ltr_K = 75, Ltr_L = 76, Ltr_M = 77, Ltr_N = 78, Ltr_O = 79 , Ltr_P = 80, Ltr_Q = 81, Ltr_R = 82, Ltr_S = 83, Ltr_T = 84 , Ltr_U = 85, Ltr_V = 86, Ltr_W = 87, Ltr_X = 88, Ltr_Y = 89 , Ltr_Z = 90, Brack_bgn = 91, Backslash = 92, Brack_end = 93, Pow = 94 // Circumflex , Underline = 95, Tick = 96, Ltr_a = 97, Ltr_b = 98, Ltr_c = 99 , Ltr_d = 100, Ltr_e = 101, Ltr_f = 102, Ltr_g = 103, Ltr_h = 104 , Ltr_i = 105, Ltr_j = 106, Ltr_k = 107, Ltr_l = 108, Ltr_m = 109 , Ltr_n = 110, Ltr_o = 111, Ltr_p = 112, Ltr_q = 113, Ltr_r = 114 , Ltr_s = 115, Ltr_t = 116, Ltr_u = 117, Ltr_v = 118, Ltr_w = 119 , Ltr_x = 120, Ltr_y = 121, Ltr_z = 122, Curly_bgn = 123, Pipe = 124 , Curly_end = 125, Tilde = 126 ; public static final byte Angle_bgn = Lt, Angle_end = Gt ; public static final byte Max_7_bit = (byte)127, Ascii_min = 0, Ascii_max = 127; public static boolean Is_sym(byte b) { switch (b) { case Byte_ascii.Bang: case Byte_ascii.Quote: case Byte_ascii.Hash: case Byte_ascii.Dollar: case Byte_ascii.Percent: case Byte_ascii.Amp: case Byte_ascii.Apos: case Byte_ascii.Paren_bgn: case Byte_ascii.Paren_end: case Byte_ascii.Star: case Byte_ascii.Plus: case Byte_ascii.Comma: case Byte_ascii.Dash: case Byte_ascii.Dot: case Byte_ascii.Slash: case Byte_ascii.Colon: case Byte_ascii.Semic: case Byte_ascii.Lt: case Byte_ascii.Eq: case Byte_ascii.Gt: case Byte_ascii.Question: case Byte_ascii.At: case Byte_ascii.Brack_bgn: case Byte_ascii.Backslash: case Byte_ascii.Brack_end: case Byte_ascii.Pow: case Byte_ascii.Underline: case Byte_ascii.Tick: case Byte_ascii.Curly_bgn: case Byte_ascii.Pipe: case Byte_ascii.Curly_end: case Byte_ascii.Tilde: return true; default: return false; } } public static boolean Is_ltr(byte b) { return ( b >= Byte_ascii.Ltr_a && b <= Byte_ascii.Ltr_z || b >= Byte_ascii.Ltr_A && b <= Byte_ascii.Ltr_Z); } public static boolean Is_ws(byte b) { switch (b) { case Byte_ascii.Tab: case Byte_ascii.Nl: case Byte_ascii.Cr: case Byte_ascii.Space: return true; default: return false; } } public static boolean Is_num(byte b) { return b > Byte_ascii.Slash && b < Byte_ascii.Colon; } public static byte To_a7_int(byte b) {return (byte)(b - Byte_ascii.Num_0);} public static byte To_a7_str(int digit) { switch (digit) { case 0: return Byte_ascii.Num_0; case 1: return Byte_ascii.Num_1; case 2: return Byte_ascii.Num_2; case 3: return Byte_ascii.Num_3; case 4: return Byte_ascii.Num_4; case 5: return Byte_ascii.Num_5; case 6: return Byte_ascii.Num_6; case 7: return Byte_ascii.Num_7; case 8: return Byte_ascii.Num_8; case 9: return Byte_ascii.Num_9; default: throw Err_.new_("Byte_ascii", "unknown digit", "digit", digit); } } public static String To_str(byte b) {return Char_.To_str((char)b);} public static byte Case_upper(byte b) { return b > 96 && b < 123 ? (byte)(b - 32) : b; } public static byte Case_lower(byte b) { return b > 64 && b < 91 ? (byte)(b + 32) : b; } public static final byte[] Space_len2 = new byte[] {Space, Space}, Space_len4 = new byte[] {Space, Space, Space, Space}; public static final byte[] Tab_bry = new byte[] {Byte_ascii.Tab} , Nl_bry = new byte[] {Byte_ascii.Nl} , Space_bry = new byte[] {Byte_ascii.Space} , Bang_bry = new byte[] {Byte_ascii.Bang} , Quote_bry = new byte[] {Byte_ascii.Quote} , Hash_bry = new byte[] {Byte_ascii.Hash} , Dot_bry = new byte[] {Byte_ascii.Dot} , Angle_bgn_bry = new byte[] {Byte_ascii.Angle_bgn} , Angle_end_bry = new byte[] {Byte_ascii.Angle_end} , Comma_bry = new byte[] {Byte_ascii.Comma} , Colon_bry = new byte[] {Byte_ascii.Colon} , Semic_bry = new byte[] {Byte_ascii.Semic} , Eq_bry = new byte[] {Byte_ascii.Eq} , Amp_bry = new byte[] {Byte_ascii.Amp} , Lt_bry = new byte[] {Byte_ascii.Lt} , Gt_bry = new byte[] {Byte_ascii.Gt} , Question_bry = new byte[] {Byte_ascii.Question} , Brack_bgn_bry = new byte[] {Byte_ascii.Brack_bgn} , Brack_end_bry = new byte[] {Byte_ascii.Brack_end} , Apos_bry = new byte[] {Byte_ascii.Apos} , Pipe_bry = new byte[] {Byte_ascii.Pipe} , Underline_bry = new byte[] {Byte_ascii.Underline} , Slash_bry = new byte[] {Byte_ascii.Slash} , Star_bry = new byte[] {Byte_ascii.Star} , Dash_bry = new byte[] {Byte_ascii.Dash} , Cr_lf_bry = new byte[] {Byte_ascii.Cr, Byte_ascii.Nl} ; }