KCML_Normalize_UTF8
Purpose
Normalizes wide ASCII and half-width kana characters in a UTF8 string
Definition
DEFSUB 'KCML_Normalize_UTF8(BYREF utf8string$) AS Bool
Parameters
| utf8string | UTF8 string |
Return
Returns TRUE if string contained normalized characters.
Description
Modify string in place replacing any wide ASCII (in the range U+FF00-U+FF5E and ideographic space U+3000) characters with their narrow equivalent and any half-width kana characters (in the range U+FF61-U+FF9f) with their full-width equivalent. Where a character is followed by a dakuten (U+FF9E) or handakuten (U+FF9F) voice mark and the converted character incorporates the voice mark then the trailing mark character will be removed.
Conversions
| Unicode | Character | Normalized Unicode | Normalized Character |
|---|---|---|---|
| U+FF01 | ! | U+0021 | ! |
| U+FF02 | " | U+0022 | " |
| U+FF03 | # | U+0023 | # |
| U+FF04 | $ | U+0024 | $ |
| U+FF05 | % | U+0025 | % |
| U+FF06 | & | U+0026 | & |
| U+FF07 | ' | U+0027 | ' |
| U+FF08 | ( | U+0028 | ( |
| U+FF09 | ) | U+0029 | ) |
| U+FF0A | * | U+002A | * |
| U+FF0B | + | U+002B | + |
| U+FF0C | , | U+002C | , |
| U+FF0D | - | U+002D | - |
| U+FF0E | . | U+002E | . |
| U+FF0F | / | U+002F | / |
| U+FF10 | 0 | U+0030 | 0 |
| U+FF11 | 1 | U+0031 | 1 |
| U+FF12 | 2 | U+0032 | 2 |
| U+FF13 | 3 | U+0033 | 3 |
| U+FF14 | 4 | U+0034 | 4 |
| U+FF15 | 5 | U+0035 | 5 |
| U+FF16 | 6 | U+0036 | 6 |
| U+FF17 | 7 | U+0037 | 7 |
| U+FF18 | 8 | U+0038 | 8 |
| U+FF19 | 9 | U+0039 | 9 |
| U+FF1A | : | U+003A | : |
| U+FF1B | ; | U+003B | ; |
| U+FF1C | < | U+003C | < |
| U+FF1D | = | U+003D | = |
| U+FF1E | > | U+003E | > |
| U+FF1F | ? | U+003F | ? |
| U+FF21 | A | U+0041 | A |
| U+FF22 | B | U+0042 | B |
| U+FF23 | C | U+0043 | C |
| U+FF24 | D | U+0044 | D |
| U+FF25 | E | U+0045 | E |
| U+FF26 | F | U+0046 | F |
| U+FF27 | G | U+0047 | G |
| U+FF28 | H | U+0048 | H |
| U+FF29 | I | U+0049 | I |
| U+FF2A | J | U+004A | J |
| U+FF2B | K | U+004B | K |
| U+FF2C | L | U+004C | L |
| U+FF2D | M | U+004D | M |
| U+FF2E | N | U+004E | N |
| U+FF2F | O | U+004F | O |
| U+FF30 | P | U+0050 | P |
| U+FF31 | Q | U+0051 | Q |
| U+FF32 | R | U+0052 | R |
| U+FF33 | S | U+0053 | S |
| U+FF34 | T | U+0054 | T |
| U+FF35 | U | U+0055 | U |
| U+FF36 | V | U+0056 | V |
| U+FF37 | W | U+0057 | W |
| U+FF38 | X | U+0058 | X |
| U+FF39 | Y | U+0059 | Y |
| U+FF3A | Z | U+005A | Z |
| U+FF3B | [ | U+005B | [ |
| U+FF3C | \ | U+005C | \ |
| U+FF3D | ] | U+005D | ] |
| U+FF3E | ^ | U+005E | ^ |
| U+FF3F | _ | U+005F | _ |
| U+FF40 | ` | U+0060 | ` |
| U+FF41 | a | U+0061 | a |
| U+FF42 | b | U+0062 | b |
| U+FF43 | c | U+0063 | c |
| U+FF44 | d | U+0064 | d |
| U+FF45 | e | U+0065 | e |
| U+FF46 | f | U+0066 | f |
| U+FF47 | g | U+0067 | g |
| U+FF48 | h | U+0068 | h |
| U+FF49 | i | U+0069 | i |
| U+FF4A | j | U+006A | j |
| U+FF4B | k | U+006B | k |
| U+FF4C | l | U+006C | l |
| U+FF4D | m | U+006D | m |
| U+FF4E | n | U+006E | n |
| U+FF4F | o | U+006F | o |
| U+FF50 | p | U+0070 | p |
| U+FF51 | q | U+0071 | q |
| U+FF52 | r | U+0072 | r |
| U+FF53 | s | U+0073 | s |
| U+FF54 | t | U+0074 | t |
| U+FF55 | u | U+0075 | u |
| U+FF56 | v | U+0076 | v |
| U+FF57 | w | U+0077 | w |
| U+FF58 | x | U+0078 | x |
| U+FF59 | y | U+0079 | y |
| U+FF5A | z | U+007A | z |
| U+FF5B | { | U+007B | { |
| U+FF5C | | | U+007C | | |
| U+FF5D | } | U+007D | } |
| U+FF5E | ~ | U+007E | ~ |
| U+FF5F | ⦅ | U+FF5F | ⦅ |
| U+FF60 | ⦆ | U+FF60 | ⦆ |
| U+FF61 | 。 | U+30 2 | 。 |
| U+FF62 | 「 | U+30 C | 「 |
| U+FF63 | 」 | U+30 D | 」 |
| U+FF64 | 、 | U+30 1 | 、 |
| U+FF65 | ・ | U+30FB | ・ |
| U+FF66 | ヲ | U+30F2 | ヲ |
| U+FF67 | ァ | U+30A1 | ァ |
| U+FF68 | ィ | U+30A3 | ィ |
| U+FF69 | ゥ | U+30A5 | ゥ |
| U+FF6A | ェ | U+30A7 | ェ |
| U+FF6B | ォ | U+30A9 | ォ |
| U+FF6C | ャ | U+30E3 | ャ |
| U+FF6D | ュ | U+30E5 | ュ |
| U+FF6E | ョ | U+30E7 | ョ |
| U+FF6F | ッ | U+30C3 | ッ |
| U+FF70 | ー | U+30FC | ー |
| U+FF71 | ア | U+30A2 | ア |
| U+FF72 | イ | U+30A4 | イ |
| U+FF73 | ウ | U+30A6 | ウ |
| U+FF74 | エ | U+30A8 | エ |
| U+FF75 | オ | U+30AA | オ |
| U+FF76 | カ | U+30AB | カ |
| U+FF77 | キ | U+30AD | キ |
| U+FF78 | ク | U+30AF | ク |
| U+FF79 | ケ | U+30B1 | ケ |
| U+FF7A | コ | U+30B3 | コ |
| U+FF7B | サ | U+30B5 | サ |
| U+FF7C | シ | U+30B7 | シ |
| U+FF7D | ス | U+30B9 | ス |
| U+FF7E | セ | U+30BB | セ |
| U+FF7F | ソ | U+30BD | ソ |
| U+FF80 | タ | U+30BF | タ |
| U+FF81 | チ | U+30C1 | チ |
| U+FF82 | ツ | U+30C4 | ツ |
| U+FF83 | テ | U+30C6 | テ |
| U+FF84 | ト | U+30C8 | ト |
| U+FF85 | ナ | U+30CA | ナ |
| U+FF86 | ニ | U+30CB | ニ |
| U+FF87 | ヌ | U+30CC | ヌ |
| U+FF88 | ネ | U+30CD | ネ |
| U+FF89 | ノ | U+30CE | ノ |
| U+FF8A | ハ | U+30CF | ハ |
| U+FF8B | ヒ | U+30D2 | ヒ |
| U+FF8C | フ | U+30D5 | フ |
| U+FF8D | ヘ | U+30D8 | ヘ |
| U+FF8E | ホ | U+30DB | ホ |
| U+FF8F | マ | U+30DE | マ |
| U+FF90 | ミ | U+30DF | ミ |
| U+FF91 | ム | U+30E0 | ム |
| U+FF92 | メ | U+30E1 | メ |
| U+FF93 | モ | U+30E2 | モ |
| U+FF94 | ヤ | U+30E4 | ヤ |
| U+FF95 | ユ | U+30E6 | ユ |
| U+FF96 | ヨ | U+30E8 | ヨ |
| U+FF97 | ラ | U+30E9 | ラ |
| U+FF98 | リ | U+30EA | リ |
| U+FF99 | ル | U+30EB | ル |
| U+FF9A | レ | U+30EC | レ |
| U+FF9B | ロ | U+30ED | ロ |
| U+FF9C | ワ | U+30EF | ワ |
| U+FF9D | ン | U+30F3 | ン |
| U+FF9E | ゙ | U+3099 | ゙ |
| U+FF9F | ゚ | U+309A | ゚ |
| U+FF73 U+FF9E | ヴ | U+30F4 | ヴ |
| U+FF8A U+FF9E | バ | U+30D0 | バ |
| U+FF8B U+FF9E | ビ | U+30D3 | ビ |
| U+FF8C U+FF9E | ブ | U+30D6 | ブ |
| U+FF8D U+FF9E | ベ | U+30D9 | ベ |
| U+FF8E U+FF9E | ボ | U+30DC | ボ |
| U+FF8A U+FF9F | パ | U+30D1 | パ |
| U+FF8B U+FF9F | ピ | U+30D4 | ピ |
| U+FF8C U+FF9F | プ | U+30D7 | プ |
| U+FF8D U+FF9F | ペ | U+30DA | ペ |
| U+FF8E U+FF9F | ポ | U+30DD | ポ |
| U+FF78 U+FF9E | グ | U+30AF | グ |
See also
Internal KCML Functions, Internally defined structures and Internally defined enumerations and constants.