diff --git a/src/sys/ags.h b/src/sys/ags.h index 3f4a41b..72d35fa 100644 --- a/src/sys/ags.h +++ b/src/sys/ags.h @@ -121,8 +121,6 @@ public: void box_line(int dest, int sx, int sy, int ex, int ey, uint8 color); void draw_text(const char* string, bool text_wait = false); - uint16 convert_zenkaku(uint16 code); - uint16 convert_hankaku(uint16 code); void clear_text_window(int index, bool erase); bool return_text_line(int index); diff --git a/src/sys/ags_text.cpp b/src/sys/ags_text.cpp index 43c23b4..681d3ea 100644 --- a/src/sys/ags_text.cpp +++ b/src/sys/ags_text.cpp @@ -9,7 +9,341 @@ #include "utfsjis.h" #include "texthook.h" -static bool antialias = true; +namespace { + +bool antialias = true; + +int convert_to_zenkaku(int code) +{ + switch(code) { + case u' ': return u' '; + case u'!': return u'!'; + case u'"': return u'”'; + case u'#': return u'#'; + case u'$': return u'$'; + case u'%': return u'%'; + case u'&': return u'&'; + case u'\'': return u'’'; + case u'(': return u'('; + case u')': return u')'; + case u'*': return u'*'; + case u'+': return u'+'; + case u',': return u','; + case u'-': return u'-'; + case u'.': return u'.'; + case u'/': return u'/'; + case u'0': return u'0'; + case u'1': return u'1'; + case u'2': return u'2'; + case u'3': return u'3'; + case u'4': return u'4'; + case u'5': return u'5'; + case u'6': return u'6'; + case u'7': return u'7'; + case u'8': return u'8'; + case u'9': return u'9'; + case u':': return u':'; + case u';': return u';'; + case u'<': return u'<'; + case u'=': return u'='; + case u'>': return u'>'; + case u'?': return u'?'; + case u'@': return u'@'; + case u'A': return u'A'; + case u'B': return u'B'; + case u'C': return u'C'; + case u'D': return u'D'; + case u'E': return u'E'; + case u'F': return u'F'; + case u'G': return u'G'; + case u'H': return u'H'; + case u'I': return u'I'; + case u'J': return u'J'; + case u'K': return u'K'; + case u'L': return u'L'; + case u'M': return u'M'; + case u'N': return u'N'; + case u'O': return u'O'; + case u'P': return u'P'; + case u'Q': return u'Q'; + case u'R': return u'R'; + case u'S': return u'S'; + case u'T': return u'T'; + case u'U': return u'U'; + case u'V': return u'V'; + case u'W': return u'W'; + case u'X': return u'X'; + case u'Y': return u'Y'; + case u'Z': return u'Z'; + case u'[': return u'['; + case u'\\': return u'¥'; + case u']': return u']'; + case u'^': return u'^'; + case u'_': return u'_'; + case u'`': return u'‘'; + case u'a': return u'a'; + case u'b': return u'b'; + case u'c': return u'c'; + case u'd': return u'd'; + case u'e': return u'e'; + case u'f': return u'f'; + case u'g': return u'g'; + case u'h': return u'h'; + case u'i': return u'i'; + case u'j': return u'j'; + case u'k': return u'k'; + case u'l': return u'l'; + case u'm': return u'm'; + case u'n': return u'n'; + case u'o': return u'o'; + case u'p': return u'p'; + case u'q': return u'q'; + case u'r': return u'r'; + case u's': return u's'; + case u't': return u't'; + case u'u': return u'u'; + case u'v': return u'v'; + case u'w': return u'w'; + case u'x': return u'x'; + case u'y': return u'y'; + case u'z': return u'z'; + case u'{': return u'{'; + case u'|': return u'|'; + case u'}': return u'}'; + case u'~': return u'~'; + case u'。': return u'。'; + case u'「': return u'「'; + case u'」': return u'」'; + case u'、': return u'、'; + case u'・': return u'・'; + case u'ヲ': return u'を'; + case u'ァ': return u'ぁ'; + case u'ィ': return u'ぃ'; + case u'ゥ': return u'ぅ'; + case u'ェ': return u'ぇ'; + case u'ォ': return u'ぉ'; + case u'ャ': return u'ゃ'; + case u'ュ': return u'ゅ'; + case u'ョ': return u'ょ'; + case u'ッ': return u'っ'; + case u'ー': return u'ー'; + case u'ア': return u'あ'; + case u'イ': return u'い'; + case u'ウ': return u'う'; + case u'エ': return u'え'; + case u'オ': return u'お'; + case u'カ': return u'か'; + case u'キ': return u'き'; + case u'ク': return u'く'; + case u'ケ': return u'け'; + case u'コ': return u'こ'; + case u'サ': return u'さ'; + case u'シ': return u'し'; + case u'ス': return u'す'; + case u'セ': return u'せ'; + case u'ソ': return u'そ'; + case u'タ': return u'た'; + case u'チ': return u'ち'; + case u'ツ': return u'つ'; + case u'テ': return u'て'; + case u'ト': return u'と'; + case u'ナ': return u'な'; + case u'ニ': return u'に'; + case u'ヌ': return u'ぬ'; + case u'ネ': return u'ね'; + case u'ノ': return u'の'; + case u'ハ': return u'は'; + case u'ヒ': return u'ひ'; + case u'フ': return u'ふ'; + case u'ヘ': return u'へ'; + case u'ホ': return u'ほ'; + case u'マ': return u'ま'; + case u'ミ': return u'み'; + case u'ム': return u'む'; + case u'メ': return u'め'; + case u'モ': return u'も'; + case u'ヤ': return u'や'; + case u'ユ': return u'ゆ'; + case u'ヨ': return u'よ'; + case u'ラ': return u'ら'; + case u'リ': return u'り'; + case u'ル': return u'る'; + case u'レ': return u'れ'; + case u'ロ': return u'ろ'; + case u'ワ': return u'わ'; + case u'ン': return u'ん'; + case u'゙': return u'゛'; + case u'゚': return u'゜'; + } + return code; +} + +int convert_to_hankaku(int code) +{ + switch(code) { + case u' ': return u' '; + case u'!': return u'!'; + case u'”': return u'"'; + case u'#': return u'#'; + case u'$': return u'$'; + case u'%': return u'%'; + case u'&': return u'&'; + case u'’': return u'\''; + case u'(': return u'('; + case u')': return u')'; + case u'*': return u'*'; + case u'+': return u'+'; + case u',': return u','; + case u'-': return u'-'; + case u'.': return u'.'; + case u'/': return u'/'; + case u'0': return u'0'; + case u'1': return u'1'; + case u'2': return u'2'; + case u'3': return u'3'; + case u'4': return u'4'; + case u'5': return u'5'; + case u'6': return u'6'; + case u'7': return u'7'; + case u'8': return u'8'; + case u'9': return u'9'; + case u':': return u':'; + case u';': return u';'; + case u'<': return u'<'; + case u'=': return u'='; + case u'>': return u'>'; + case u'?': return u'?'; + case u'@': return u'@'; + case u'A': return u'A'; + case u'B': return u'B'; + case u'C': return u'C'; + case u'D': return u'D'; + case u'E': return u'E'; + case u'F': return u'F'; + case u'G': return u'G'; + case u'H': return u'H'; + case u'I': return u'I'; + case u'J': return u'J'; + case u'K': return u'K'; + case u'L': return u'L'; + case u'M': return u'M'; + case u'N': return u'N'; + case u'O': return u'O'; + case u'P': return u'P'; + case u'Q': return u'Q'; + case u'R': return u'R'; + case u'S': return u'S'; + case u'T': return u'T'; + case u'U': return u'U'; + case u'V': return u'V'; + case u'W': return u'W'; + case u'X': return u'X'; + case u'Y': return u'Y'; + case u'Z': return u'Z'; + case u'[': return u'['; + case u'¥': return u'\\'; + case u']': return u']'; + case u'^': return u'^'; + case u'_': return u'_'; + case u'‘': return u'`'; + case u'a': return u'a'; + case u'b': return u'b'; + case u'c': return u'c'; + case u'd': return u'd'; + case u'e': return u'e'; + case u'f': return u'f'; + case u'g': return u'g'; + case u'h': return u'h'; + case u'i': return u'i'; + case u'j': return u'j'; + case u'k': return u'k'; + case u'l': return u'l'; + case u'm': return u'm'; + case u'n': return u'n'; + case u'o': return u'o'; + case u'p': return u'p'; + case u'q': return u'q'; + case u'r': return u'r'; + case u's': return u's'; + case u't': return u't'; + case u'u': return u'u'; + case u'v': return u'v'; + case u'w': return u'w'; + case u'x': return u'x'; + case u'y': return u'y'; + case u'z': return u'z'; + case u'{': return u'{'; + case u'|': return u'|'; + case u'}': return u'}'; + case u'~': return u'~'; + case u'。': return u'。'; + case u'「': return u'「'; + case u'」': return u'」'; + case u'、': return u'、'; + case u'・': return u'・'; + case u'を': return u'ヲ'; + case u'ぁ': return u'ァ'; + case u'ぃ': return u'ィ'; + case u'ぅ': return u'ゥ'; + case u'ぇ': return u'ェ'; + case u'ぉ': return u'ォ'; + case u'ゃ': return u'ャ'; + case u'ゅ': return u'ュ'; + case u'ょ': return u'ョ'; + case u'っ': return u'ッ'; + case u'ー': return u'ー'; + case u'あ': return u'ア'; + case u'い': return u'イ'; + case u'う': return u'ウ'; + case u'え': return u'エ'; + case u'お': return u'オ'; + case u'か': return u'カ'; + case u'き': return u'キ'; + case u'く': return u'ク'; + case u'け': return u'ケ'; + case u'こ': return u'コ'; + case u'さ': return u'サ'; + case u'し': return u'シ'; + case u'す': return u'ス'; + case u'せ': return u'セ'; + case u'そ': return u'ソ'; + case u'た': return u'タ'; + case u'ち': return u'チ'; + case u'つ': return u'ツ'; + case u'て': return u'テ'; + case u'と': return u'ト'; + case u'な': return u'ナ'; + case u'に': return u'ニ'; + case u'ぬ': return u'ヌ'; + case u'ね': return u'ネ'; + case u'の': return u'ノ'; + case u'は': return u'ハ'; + case u'ひ': return u'ヒ'; + case u'ふ': return u'フ'; + case u'へ': return u'ヘ'; + case u'ほ': return u'ホ'; + case u'ま': return u'マ'; + case u'み': return u'ミ'; + case u'む': return u'ム'; + case u'め': return u'メ'; + case u'も': return u'モ'; + case u'や': return u'ヤ'; + case u'ゆ': return u'ユ'; + case u'よ': return u'ヨ'; + case u'ら': return u'ラ'; + case u'り': return u'リ'; + case u'る': return u'ル'; + case u'れ': return u'レ'; + case u'ろ': return u'ロ'; + case u'わ': return u'ワ'; + case u'ん': return u'ン'; + case u'゛': return u'゙'; + case u'゜': return u'゚'; + } + return code; +} + +} // namespace void AGS::draw_text(const char* string, bool text_wait) { @@ -57,15 +391,14 @@ void AGS::draw_text(const char* string, bool text_wait) if(is_2byte_message(c)) { code = (code << 8) | (uint8)string[p++]; } + code = sjis_to_unicode(code); if(draw_hankaku) { - code = convert_hankaku(code); + code = convert_to_hankaku(code); } else { - code = convert_zenkaku(code); + code = convert_to_zenkaku(code); } - code = sjis_to_unicode(code); - // 文字出力 if (GAIJI_FIRST <= code && code <= GAIJI_LAST) { // Use unadjusted dest_y here. @@ -213,336 +546,6 @@ void AGS::draw_gaiji(int dest, int dest_x, int dest_y, uint16 code, int size, ui } } -uint16 AGS::convert_zenkaku(uint16 code) -{ - switch(code) { - case 0x20: return 0x8140; // ' ' - case 0x21: return 0x8149; // '!' - case 0x22: return 0x8168; // '”' - case 0x23: return 0x8194; // '#' - case 0x24: return 0x8190; // '$' - case 0x25: return 0x8193; // '%' - case 0x26: return 0x8195; // '&' - case 0x27: return 0x8166; // '’' - case 0x28: return 0x8169; // '(' - case 0x29: return 0x816a; // ')' - case 0x2a: return 0x8196; // '*' - case 0x2b: return 0x817b; // '+' - case 0x2c: return 0x8143; // ',' - case 0x2d: return 0x817c; // '−' - case 0x2e: return 0x8144; // '.' - case 0x2f: return 0x815e; // '/' - case 0x30: return 0x824f; // '0' - case 0x31: return 0x8250; // '1' - case 0x32: return 0x8251; // '2' - case 0x33: return 0x8252; // '3' - case 0x34: return 0x8253; // '4' - case 0x35: return 0x8254; // '5' - case 0x36: return 0x8255; // '6' - case 0x37: return 0x8256; // '7' - case 0x38: return 0x8257; // '8' - case 0x39: return 0x8258; // '9' - case 0x3a: return 0x8146; // ':' - case 0x3b: return 0x8147; // ';' - case 0x3c: return 0x8183; // '<' - case 0x3d: return 0x8181; // '=' - case 0x3e: return 0x8184; // '>' - case 0x3f: return 0x8148; // '?' - case 0x40: return 0x8197; // '@' - case 0x41: return 0x8260; // 'A' - case 0x42: return 0x8261; // 'B' - case 0x43: return 0x8262; // 'C' - case 0x44: return 0x8263; // 'D' - case 0x45: return 0x8264; // 'E' - case 0x46: return 0x8265; // 'F' - case 0x47: return 0x8266; // 'G' - case 0x48: return 0x8267; // 'H' - case 0x49: return 0x8268; // 'I' - case 0x4a: return 0x8269; // 'J' - case 0x4b: return 0x826a; // 'K' - case 0x4c: return 0x826b; // 'L' - case 0x4d: return 0x826c; // 'M' - case 0x4e: return 0x826d; // 'N' - case 0x4f: return 0x826e; // 'O' - case 0x50: return 0x826f; // 'P' - case 0x51: return 0x8270; // 'Q' - case 0x52: return 0x8271; // 'R' - case 0x53: return 0x8272; // 'S' - case 0x54: return 0x8273; // 'T' - case 0x55: return 0x8274; // 'U' - case 0x56: return 0x8275; // 'V' - case 0x57: return 0x8276; // 'W' - case 0x58: return 0x8277; // 'X' - case 0x59: return 0x8278; // 'Y' - case 0x5a: return 0x8279; // 'Z' - case 0x5b: return 0x816d; // '[' - case 0x5c: return 0x818f; // '¥' - case 0x5d: return 0x816e; // ']' - case 0x5e: return 0x814f; // '^' - case 0x5f: return 0x8151; // '_' - case 0x60: return 0x8165; // '‘' - case 0x61: return 0x8281; // 'a' - case 0x62: return 0x8282; // 'b' - case 0x63: return 0x8283; // 'c' - case 0x64: return 0x8284; // 'd' - case 0x65: return 0x8285; // 'e' - case 0x66: return 0x8286; // 'f' - case 0x67: return 0x8287; // 'g' - case 0x68: return 0x8288; // 'h' - case 0x69: return 0x8289; // 'i' - case 0x6a: return 0x828a; // 'j' - case 0x6b: return 0x828b; // 'k' - case 0x6c: return 0x828c; // 'l' - case 0x6d: return 0x828d; // 'm' - case 0x6e: return 0x828e; // 'n' - case 0x6f: return 0x828f; // 'o' - case 0x70: return 0x8290; // 'p' - case 0x71: return 0x8291; // 'q' - case 0x72: return 0x8292; // 'r' - case 0x73: return 0x8293; // 's' - case 0x74: return 0x8294; // 't' - case 0x75: return 0x8295; // 'u' - case 0x76: return 0x8296; // 'v' - case 0x77: return 0x8297; // 'w' - case 0x78: return 0x8298; // 'x' - case 0x79: return 0x8299; // 'y' - case 0x7a: return 0x829a; // 'z' - case 0x7b: return 0x816f; // '{' - case 0x7c: return 0x8162; // '|' - case 0x7d: return 0x8170; // '}' - case 0x7e: return 0x8160; // '〜' - case 0xa1: return 0x8142; // '。' - case 0xa2: return 0x8175; // '「' - case 0xa3: return 0x8176; // '」' - case 0xa4: return 0x8141; // '、' - case 0xa5: return 0x8145; // '・' - case 0xa6: return 0x82f0; // 'を' - case 0xa7: return 0x829f; // 'ぁ' - case 0xa8: return 0x82a1; // 'ぃ' - case 0xa9: return 0x82a3; // 'ぅ' - case 0xaa: return 0x82a5; // 'ぇ' - case 0xab: return 0x82a7; // 'ぉ' - case 0xac: return 0x82e1; // 'ゃ' - case 0xad: return 0x82e3; // 'ゅ' - case 0xae: return 0x82e5; // 'ょ' - case 0xaf: return 0x82c1; // 'っ' - case 0xb0: return 0x815b; // 'ー' - case 0xb1: return 0x82a0; // 'あ' - case 0xb2: return 0x82a2; // 'い' - case 0xb3: return 0x82a4; // 'う' - case 0xb4: return 0x82a6; // 'え' - case 0xb5: return 0x82a8; // 'お' - case 0xb6: return 0x82a9; // 'か' - case 0xb7: return 0x82ab; // 'き' - case 0xb8: return 0x82ad; // 'く' - case 0xb9: return 0x82af; // 'け' - case 0xba: return 0x82b1; // 'こ' - case 0xbb: return 0x82b3; // 'さ' - case 0xbc: return 0x82b5; // 'し' - case 0xbd: return 0x82b7; // 'す' - case 0xbe: return 0x82b9; // 'せ' - case 0xbf: return 0x82bb; // 'そ' - case 0xc0: return 0x82bd; // 'た' - case 0xc1: return 0x82bf; // 'ち' - case 0xc2: return 0x82c2; // 'つ' - case 0xc3: return 0x82c4; // 'て' - case 0xc4: return 0x82c6; // 'と' - case 0xc5: return 0x82c8; // 'な' - case 0xc6: return 0x82c9; // 'に' - case 0xc7: return 0x82ca; // 'ぬ' - case 0xc8: return 0x82cb; // 'ね' - case 0xc9: return 0x82cc; // 'の' - case 0xca: return 0x82cd; // 'は' - case 0xcb: return 0x82d0; // 'ひ' - case 0xcc: return 0x82d3; // 'ふ' - case 0xcd: return 0x82d6; // 'へ' - case 0xce: return 0x82d9; // 'ほ' - case 0xcf: return 0x82dc; // 'ま' - case 0xd0: return 0x82dd; // 'み' - case 0xd1: return 0x82de; // 'む' - case 0xd2: return 0x82df; // 'め' - case 0xd3: return 0x82e0; // 'も' - case 0xd4: return 0x82e2; // 'や' - case 0xd5: return 0x82e4; // 'ゆ' - case 0xd6: return 0x82e6; // 'よ' - case 0xd7: return 0x82e7; // 'ら' - case 0xd8: return 0x82e8; // 'り' - case 0xd9: return 0x82e9; // 'る' - case 0xda: return 0x82ea; // 'れ' - case 0xdb: return 0x82eb; // 'ろ' - case 0xdc: return 0x82ed; // 'わ' - case 0xdd: return 0x82f1; // 'ん' - case 0xde: return 0x814a; // '゛' - case 0xdf: return 0x814b; // '゜' - } - return code; -} - -uint16 AGS::convert_hankaku(uint16 code) -{ - switch(code) { - case 0x8140: return 0x20; // ' ' - case 0x8149: return 0x21; // '!' - case 0x8168: return 0x22; // '”' - case 0x8194: return 0x23; // '#' - case 0x8190: return 0x24; // '$' - case 0x8193: return 0x25; // '%' - case 0x8195: return 0x26; // '&' - case 0x8166: return 0x27; // '’' - case 0x8169: return 0x28; // '(' - case 0x816a: return 0x29; // ')' - case 0x8196: return 0x2a; // '*' - case 0x817b: return 0x2b; // '+' - case 0x8143: return 0x2c; // ',' - case 0x817c: return 0x2d; // '−' - case 0x8144: return 0x2e; // '.' - case 0x815e: return 0x2f; // '/' - case 0x824f: return 0x30; // '0' - case 0x8250: return 0x31; // '1' - case 0x8251: return 0x32; // '2' - case 0x8252: return 0x33; // '3' - case 0x8253: return 0x34; // '4' - case 0x8254: return 0x35; // '5' - case 0x8255: return 0x36; // '6' - case 0x8256: return 0x37; // '7' - case 0x8257: return 0x38; // '8' - case 0x8258: return 0x39; // '9' - case 0x8146: return 0x3a; // ':' - case 0x8147: return 0x3b; // ';' - case 0x8183: return 0x3c; // '<' - case 0x8181: return 0x3d; // '=' - case 0x8184: return 0x3e; // '>' - case 0x8148: return 0x3f; // '?' - case 0x8197: return 0x40; // '@' - case 0x8260: return 0x41; // 'A' - case 0x8261: return 0x42; // 'B' - case 0x8262: return 0x43; // 'C' - case 0x8263: return 0x44; // 'D' - case 0x8264: return 0x45; // 'E' - case 0x8265: return 0x46; // 'F' - case 0x8266: return 0x47; // 'G' - case 0x8267: return 0x48; // 'H' - case 0x8268: return 0x49; // 'I' - case 0x8269: return 0x4a; // 'J' - case 0x826a: return 0x4b; // 'K' - case 0x826b: return 0x4c; // 'L' - case 0x826c: return 0x4d; // 'M' - case 0x826d: return 0x4e; // 'N' - case 0x826e: return 0x4f; // 'O' - case 0x826f: return 0x50; // 'P' - case 0x8270: return 0x51; // 'Q' - case 0x8271: return 0x52; // 'R' - case 0x8272: return 0x53; // 'S' - case 0x8273: return 0x54; // 'T' - case 0x8274: return 0x55; // 'U' - case 0x8275: return 0x56; // 'V' - case 0x8276: return 0x57; // 'W' - case 0x8277: return 0x58; // 'X' - case 0x8278: return 0x59; // 'Y' - case 0x8279: return 0x5a; // 'Z' - case 0x816d: return 0x5b; // '[' - case 0x818f: return 0x5c; // '¥' - case 0x816e: return 0x5d; // ']' - case 0x814f: return 0x5e; // '^' - case 0x8151: return 0x5f; // '_' - case 0x8165: return 0x60; // '‘' - case 0x8281: return 0x61; // 'a' - case 0x8282: return 0x62; // 'b' - case 0x8283: return 0x63; // 'c' - case 0x8284: return 0x64; // 'd' - case 0x8285: return 0x65; // 'e' - case 0x8286: return 0x66; // 'f' - case 0x8287: return 0x67; // 'g' - case 0x8288: return 0x68; // 'h' - case 0x8289: return 0x69; // 'i' - case 0x828a: return 0x6a; // 'j' - case 0x828b: return 0x6b; // 'k' - case 0x828c: return 0x6c; // 'l' - case 0x828d: return 0x6d; // 'm' - case 0x828e: return 0x6e; // 'n' - case 0x828f: return 0x6f; // 'o' - case 0x8290: return 0x70; // 'p' - case 0x8291: return 0x71; // 'q' - case 0x8292: return 0x72; // 'r' - case 0x8293: return 0x73; // 's' - case 0x8294: return 0x74; // 't' - case 0x8295: return 0x75; // 'u' - case 0x8296: return 0x76; // 'v' - case 0x8297: return 0x77; // 'w' - case 0x8298: return 0x78; // 'x' - case 0x8299: return 0x79; // 'y' - case 0x829a: return 0x7a; // 'z' - case 0x816f: return 0x7b; // '{' - case 0x8162: return 0x7c; // '|' - case 0x8170: return 0x7d; // '}' - case 0x8160: return 0x7e; // '〜' - case 0x8142: return 0xa1; // '。' - case 0x8175: return 0xa2; // '「' - case 0x8176: return 0xa3; // '」' - case 0x8141: return 0xa4; // '、' - case 0x8145: return 0xa5; // '・' - case 0x82f0: return 0xa6; // 'を' - case 0x829f: return 0xa7; // 'ぁ' - case 0x82a1: return 0xa8; // 'ぃ' - case 0x82a3: return 0xa9; // 'ぅ' - case 0x82a5: return 0xaa; // 'ぇ' - case 0x82a7: return 0xab; // 'ぉ' - case 0x82e1: return 0xac; // 'ゃ' - case 0x82e3: return 0xad; // 'ゅ' - case 0x82e5: return 0xae; // 'ょ' - case 0x82c1: return 0xaf; // 'っ' - case 0x815b: return 0xb0; // 'ー' - case 0x82a0: return 0xb1; // 'あ' - case 0x82a2: return 0xb2; // 'い' - case 0x82a4: return 0xb3; // 'う' - case 0x82a6: return 0xb4; // 'え' - case 0x82a8: return 0xb5; // 'お' - case 0x82a9: return 0xb6; // 'か' - case 0x82ab: return 0xb7; // 'き' - case 0x82ad: return 0xb8; // 'く' - case 0x82af: return 0xb9; // 'け' - case 0x82b1: return 0xba; // 'こ' - case 0x82b3: return 0xbb; // 'さ' - case 0x82b5: return 0xbc; // 'し' - case 0x82b7: return 0xbd; // 'す' - case 0x82b9: return 0xbe; // 'せ' - case 0x82bb: return 0xbf; // 'そ' - case 0x82bd: return 0xc0; // 'た' - case 0x82bf: return 0xc1; // 'ち' - case 0x82c2: return 0xc2; // 'つ' - case 0x82c4: return 0xc3; // 'て' - case 0x82c6: return 0xc4; // 'と' - case 0x82c8: return 0xc5; // 'な' - case 0x82c9: return 0xc6; // 'に' - case 0x82ca: return 0xc7; // 'ぬ' - case 0x82cb: return 0xc8; // 'ね' - case 0x82cc: return 0xc9; // 'の' - case 0x82cd: return 0xca; // 'は' - case 0x82d0: return 0xcb; // 'ひ' - case 0x82d3: return 0xcc; // 'ふ' - case 0x82d6: return 0xcd; // 'へ' - case 0x82d9: return 0xce; // 'ほ' - case 0x82dc: return 0xcf; // 'ま' - case 0x82dd: return 0xd0; // 'み' - case 0x82de: return 0xd1; // 'む' - case 0x82df: return 0xd2; // 'め' - case 0x82e0: return 0xd3; // 'も' - case 0x82e2: return 0xd4; // 'や' - case 0x82e4: return 0xd5; // 'ゆ' - case 0x82e6: return 0xd6; // 'よ' - case 0x82e7: return 0xd7; // 'ら' - case 0x82e8: return 0xd8; // 'り' - case 0x82e9: return 0xd9; // 'る' - case 0x82ea: return 0xda; // 'れ' - case 0x82eb: return 0xdb; // 'ろ' - case 0x82ed: return 0xdc; // 'わ' - case 0x82f1: return 0xdd; // 'ん' - case 0x814a: return 0xde; // '゛' - case 0x814b: return 0xdf; // '゜' - } - return code; -} - extern "C" { void EMSCRIPTEN_KEEPALIVE ags_setAntialiasedStringMode(int on) {