%%% memo
% not_cjk=15 {is not cjk characters}
% kanji=16 {kanji}
% kana=17 {hiragana, katakana}
% other_kchar=18 {cjk symbol codes}
% hangul=19 {hangul codes}

\def\KC#1#2{[#1] \the\kcatcode"#2}
\def\kc#1#2{[#1] \the\kcatcode`#1,\the\kcatcode"#2\ifnum`#1="#2 \else !! No match !!\fi}
\def\kco#1{\the\kcatcode"#1}

\message{not cjk:}
\message{\KC{A}{0041}}% U+0041 Basic Latin
\message{\KC{À}{00C0}}% U+00C0 "Latin-1 Letters" in Latin-1 Supplement
\message{\KC{Ā}{0100}}% U+0100 Latin Extended-A
\message{\KC{ƀ}{0180}}% U+0180 Latin Extended-B
\message{\KC{Ḁ}{1E00}}% U+1E00 Latin Extended Additional

\message{kanji:}
\message{\kc{⺀}{2E80}}% U+2E80 CJK Radicals Supplement
\message{\kc{⼀}{2F00}}% U+2F00 Kangxi Radicals
\message{\kc{ㄅ}{3105}}% U+3105 Bopomofo
\message{\kc{㆐}{3190}}% U+3190 Kanbun
\message{\kc{ㆠ}{31A0}}% U+31A0 Bopomofo Extended
\message{\kc{㇀}{31C0}}% U+31C0 CJK Strokes
\message{\kc{㐀}{3400}}% U+3400 CJK Unified Ideographs Extension A
\message{\kc{一}{4E00}}% U+4E00 CJK Unified Ideographs
\message{\kc{豈}{F900}}% U+F900 CJK Compatibility Ideographs
\message{\kc{𠀀}{20000}}% U+20000 CJK Unified Ideographs Extension B
\message{\kc{𪜀}{2A700}}% U+2A700 CJK Unified Ideographs Extension C
\message{\kc{𫝀}{2B740}}% U+2B740 CJK Unified Ideographs Extension D
\message{\kc{𫠠}{2B820}}% U+2B820 CJK Unified Ideographs Extension E
\message{\kc{𬺰}{2CEB0}}% U+2CEB0 CJK Unified Ideographs Extension F
\message{\kc{丽}{2F800}}% U+2F800 CJK Compatibility Ideographs Supplement
\message{\kc{𰀀}{30000}}% U+30000 CJK Unified Ideographs Extension G
\message{\kc{𱍐}{31350}}% U+31350 CJK Unified Ideographs Extension H

\message{kana:}
\message{\kc{あ}{3042}}% U+3042 Hiragana
\message{\kc{ア}{30A2}}% U+30A2 Katakana
\message{\kc{ㇰ}{31F0}}% U+31F0 Katakana Phonetic Extensions
\message{\kc{𚿰}{1AFF0}}% U+1AFF0 Kana Extended-B
\message{\kc{𛀀}{1B000}}% U+1B000 Kana Supplement
\message{\kc{𛄀}{1B100}}% U+1B100 Kana Extended-A
\message{\kc{𛅐}{1B150}}% U+1B150 Small Kana Extension
\message{\kc{０}{FF10}}% U+FF10 "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\message{\kc{ｦ}{FF66}}% U+FF66 "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms

\message{other kchar:}
\message{\kc{§}{00A7}}% U+00A7 Latin-1 Supplement
\message{\kc{＠}{FF20}}% U+FF20 Halfwidth and Fullwidth Forms

\message{hangul:}
\message{\kc{ᄀ}{1100}}% U+1100 Hangul Jamo
\message{\kc{ㄱ}{3131}}% U+3131 Hangul Compatibility Jamo
\message{\kc{ꥠ}{A960}}% U+A960 Hangul Jamo Extended-A
\message{\kc{가}{AC00}}% U+AC00 Hangul Syllables
\message{\kc{ힰ}{D7B0}}% U+D7B0 Hangul Jamo Extended-B

\message{others:}
\message{\kco{0250}}% IPA Extensions
\message{\kco{02B0}}% Spacing Modifier Letters
\message{\kco{0300}}% Combining Diacritical Marks
\message{\kco{0370}}% Greek and Coptic
\message{\kco{0400}}% Cyrillic
\message{\kco{0500}}% Cyrillic Supplement
\message{\kco{0530}}% Armenian
\message{\kco{0590}}% Hebrew
\message{\kco{0600}}% Arabic
\message{\kco{0700}}% Syriac
\message{\kco{0750}}% Arabic Supplement
\message{\kco{0780}}% Thaana
\message{\kco{07C0}}% NKo
\message{\kco{0800}}% Samaritan
\message{\kco{0840}}% Mandaic
\message{\kco{0860}}% Syriac Supplement
\message{\kco{08A0}}% Arabic Extended-A
\message{\kco{0900}}% Devanagari
\message{\kco{0980}}% Bengali
\message{\kco{0A00}}% Gurmukhi
\message{\kco{0A80}}% Gujarati
\message{\kco{0B00}}% Oriya
\message{\kco{0B80}}% Tamil
\message{\kco{0C00}}% Telugu
\message{\kco{0C80}}% Kannada
\message{\kco{0D00}}% Malayalam
\message{\kco{0D80}}% Sinhala
\message{\kco{0E00}}% Thai
\message{\kco{0E80}}% Lao
\message{\kco{0F00}}% Tibetan
\message{\kco{1000}}% Myanmar
\message{\kco{10A0}}% Georgian
\message{\kco{1200}}% Ethiopic
\message{\kco{1380}}% Ethiopic Supplement
\message{\kco{13A0}}% Cherokee
\message{\kco{1400}}% Unified Canadian Aboriginal Syllabics
\message{\kco{1680}}% Ogham
\message{\kco{16A0}}% Runic
\message{\kco{1700}}% Tagalog
\message{\kco{1720}}% Hanunoo
\message{\kco{1740}}% Buhid
\message{\kco{1760}}% Tagbanwa
\message{\kco{1780}}% Khmer
\message{\kco{1800}}% Mongolian
\message{\kco{18B0}}% Unified Canadian Aboriginal Syllabics Extended
\message{\kco{1900}}% Limbu
\message{\kco{1950}}% Tai Le
\message{\kco{1980}}% New Tai Lue
\message{\kco{19E0}}% Khmer Symbols
\message{\kco{1A00}}% Buginese
\message{\kco{1A20}}% Tai Tham
\message{\kco{1AB0}}% Combining Diacritical Marks Extended
\message{\kco{1B00}}% Balinese
\message{\kco{1B80}}% Sundanese
\message{\kco{1BC0}}% Batak
\message{\kco{1C00}}% Lepcha
\message{\kco{1C50}}% Ol Chiki
\message{\kco{1C80}}% Cyrillic Extended-C
\message{\kco{1C90}}% Georgian Extended
\message{\kco{1CC0}}% Sundanese Supplement
\message{\kco{1CD0}}% Vedic Extensions
\message{\kco{1D00}}% Phonetic Extensions
\message{\kco{1D80}}% Phonetic Extensions Supplement
\message{\kco{1DC0}}% Combining Diacritical Marks Supplement
\message{\kco{1F00}}% Greek Extended
\message{\kco{2000}}% General Punctuation
\message{\kco{2070}}% Superscripts and Subscripts
\message{\kco{20A0}}% Currency Symbols
\message{\kco{20D0}}% Combining Diacritical Marks for Symbols
\message{\kco{2100}}% Letterlike Symbols
\message{\kco{2150}}% Number Forms
\message{\kco{2190}}% Arrows
\message{\kco{2200}}% Mathematical Operators
\message{\kco{2300}}% Miscellaneous Technical
\message{\kco{2400}}% Control Pictures
\message{\kco{2440}}% Optical Character Recognition
\message{\kco{2460}}% Enclosed Alphanumerics
\message{\kco{2500}}% Box Drawing
\message{\kco{2580}}% Block Elements
\message{\kco{25A0}}% Geometric Shapes
\message{\kco{2600}}% Miscellaneous Symbols
\message{\kco{2700}}% Dingbats
\message{\kco{27C0}}% Miscellaneous Mathematical Symbols-A
\message{\kco{27F0}}% Supplemental Arrows-A
\message{\kco{2800}}% Braille Patterns
\message{\kco{2900}}% Supplemental Arrows-B
\message{\kco{2980}}% Miscellaneous Mathematical Symbols-B
\message{\kco{2A00}}% Supplemental Mathematical Operators
\message{\kco{2B00}}% Miscellaneous Symbols and Arrows
\message{\kco{2C00}}% Glagolitic
\message{\kco{2C60}}% Latin Extended-C
\message{\kco{2C80}}% Coptic
\message{\kco{2D00}}% Georgian Supplement
\message{\kco{2D30}}% Tifinagh
\message{\kco{2D80}}% Ethiopic Extended
\message{\kco{2DE0}}% Cyrillic Extended-A
\message{\kco{2E00}}% Supplemental Punctuation
\message{\kco{2FF0}}% Ideographic Description Characters
\message{\kco{3000}}% CJK Symbols and Punctuation
\message{\kco{3200}}% Enclosed CJK Letters and Months
\message{\kco{3300}}% CJK Compatibility
\message{\kco{4DC0}}% Yijing Hexagram Symbols
\message{\kco{A000}}% Yi Syllables
\message{\kco{A490}}% Yi Radicals
\message{\kco{A4D0}}% Lisu
\message{\kco{A500}}% Vai
\message{\kco{A640}}% Cyrillic Extended-B
\message{\kco{A6A0}}% Bamum
\message{\kco{A700}}% Modifier Tone Letters
\message{\kco{A720}}% Latin Extended-D
\message{\kco{A800}}% Syloti Nagri
\message{\kco{A830}}% Common Indic Number Forms
\message{\kco{A840}}% Phags-pa
\message{\kco{A880}}% Saurashtra
\message{\kco{A8E0}}% Devanagari Extended
\message{\kco{A900}}% Kayah Li
\message{\kco{A930}}% Rejang
\message{\kco{A980}}% Javanese
\message{\kco{A9E0}}% Myanmar Extended-B
\message{\kco{AA00}}% Cham
\message{\kco{AA60}}% Myanmar Extended-A
\message{\kco{AA80}}% Tai Viet
\message{\kco{AAE0}}% Meetei Mayek Extensions
\message{\kco{AB00}}% Ethiopic Extended-A
\message{\kco{AB30}}% Latin Extended-E
\message{\kco{AB70}}% Cherokee Supplement
\message{\kco{ABC0}}% Meetei Mayek
\message{\kco{D800}}% High Surrogates
\message{\kco{DB80}}% High Private Use Surrogates
\message{\kco{DC00}}% Low Surrogates
\message{\kco{E000}}% Private Use Area
\message{\kco{FB00}}% Alphabetic Presentation Forms
\message{\kco{FB50}}% Arabic Presentation Forms-A
\message{\kco{FE00}}% Variation Selectors
\message{\kco{FE10}}% Vertical Forms
\message{\kco{FE20}}% Combining Half Marks
\message{\kco{FE30}}% CJK Compatibility Forms
\message{\kco{FE50}}% Small Form Variants
\message{\kco{FE70}}% Arabic Presentation Forms-B
\message{\kco{FF00}}% Halfwidth and Fullwidth Forms
\message{\kco{FFF0}}% Specials
\message{\kco{10000}}% Linear B Syllabary
\message{\kco{10080}}% Linear B Ideograms
\message{\kco{10100}}% Aegean Numbers
\message{\kco{10140}}% Ancient Greek Numbers
\message{\kco{10190}}% Ancient Symbols
\message{\kco{101D0}}% Phaistos Disc
\message{\kco{10280}}% Lycian
\message{\kco{102A0}}% Carian
\message{\kco{102E0}}% Coptic Epact Numbers
\message{\kco{10300}}% Old Italic
\message{\kco{10330}}% Gothic
\message{\kco{10350}}% Old Permic
\message{\kco{10380}}% Ugaritic
\message{\kco{103A0}}% Old Persian
\message{\kco{10400}}% Deseret
\message{\kco{10450}}% Shavian
\message{\kco{10480}}% Osmanya
\message{\kco{104B0}}% Osage
\message{\kco{10500}}% Elbasan
\message{\kco{10530}}% Caucasian Albanian
\message{\kco{10600}}% Linear A
\message{\kco{10800}}% Cypriot Syllabary
\message{\kco{10840}}% Imperial Aramaic
\message{\kco{10860}}% Palmyrene
\message{\kco{10880}}% Nabataean
\message{\kco{108E0}}% Hatran
\message{\kco{10900}}% Phoenician
\message{\kco{10920}}% Lydian
\message{\kco{10980}}% Meroitic Hieroglyphs
\message{\kco{109A0}}% Meroitic Cursive
\message{\kco{10A00}}% Kharoshthi
\message{\kco{10A60}}% Old South Arabian
\message{\kco{10A80}}% Old North Arabian
\message{\kco{10AC0}}% Manichaean
\message{\kco{10B00}}% Avestan
\message{\kco{10B40}}% Inscriptional Parthian
\message{\kco{10B60}}% Inscriptional Pahlavi
\message{\kco{10B80}}% Psalter Pahlavi
\message{\kco{10C00}}% Old Turkic
\message{\kco{10C80}}% Old Hungarian
\message{\kco{10D00}}% Hanifi Rohingya
\message{\kco{10E60}}% Rumi Numeral Symbols
\message{\kco{10E80}}% Yezidi
\message{\kco{10EC0}}% Arabic Extended-C
\message{\kco{10F00}}% Old Sogdian
\message{\kco{10F30}}% Sogdian
\message{\kco{10FB0}}% Chorasmian
\message{\kco{10FE0}}% Elymaic
\message{\kco{11000}}% Brahmi
\message{\kco{11080}}% Kaithi
\message{\kco{110D0}}% Sora Sompeng
\message{\kco{11100}}% Chakma
\message{\kco{11150}}% Mahajani
\message{\kco{11180}}% Sharada
\message{\kco{111E0}}% Sinhala Archaic Numbers
\message{\kco{11200}}% Khojki
\message{\kco{11280}}% Multani
\message{\kco{112B0}}% Khudawadi
\message{\kco{11300}}% Grantha
\message{\kco{11400}}% Newa
\message{\kco{11480}}% Tirhuta
\message{\kco{11580}}% Siddham
\message{\kco{11600}}% Modi
\message{\kco{11660}}% Mongolian Supplement
\message{\kco{11680}}% Takri
\message{\kco{11700}}% Ahom
\message{\kco{11800}}% Dogra
\message{\kco{118A0}}% Warang Citi
\message{\kco{11900}}% Dives Akuru
\message{\kco{119A0}}% Nandinagari
\message{\kco{11A00}}% Zanabazar Square
\message{\kco{11A50}}% Soyombo
\message{\kco{11AC0}}% Pau Cin Hau
\message{\kco{11B00}}% Devanagari Extended-A
\message{\kco{11C00}}% Bhaiksuki
\message{\kco{11C70}}% Marchen
\message{\kco{11D00}}% Masaram Gondi
\message{\kco{11D60}}% Gunjala Gondi
\message{\kco{11EE0}}% Makasar
\message{\kco{11F00}}% Kawi
\message{\kco{11FB0}}% Lisu Supplement
\message{\kco{11FC0}}% Tamil Supplement
\message{\kco{12000}}% Cuneiform
\message{\kco{12400}}% Cuneiform Numbers and Punctuation
\message{\kco{12480}}% Early Dynastic Cuneiform
\message{\kco{13000}}% Egyptian Hieroglyphs
\message{\kco{13430}}% Egyptian Hieroglyph Format Controls
\message{\kco{14400}}% Anatolian Hieroglyphs
\message{\kco{16800}}% Bamum Supplement
\message{\kco{16A40}}% Mro
\message{\kco{16AD0}}% Bassa Vah
\message{\kco{16B00}}% Pahawh Hmong
\message{\kco{16E40}}% Medefaidrin
\message{\kco{16F00}}% Miao
\message{\kco{16FE0}}% Ideographic Symbols and Punctuation
\message{\kco{17000}}% Tangut
\message{\kco{18800}}% Tangut Components
\message{\kco{18B00}}% Khitan Small Script
\message{\kco{18D00}}% Tangut Supplement
\message{\kco{1B170}}% Nushu
\message{\kco{1BC00}}% Duployan
\message{\kco{1BCA0}}% Shorthand Format Controls
\message{\kco{1D000}}% Byzantine Musical Symbols
\message{\kco{1D100}}% Musical Symbols
\message{\kco{1D200}}% Ancient Greek Musical Notation
\message{\kco{1D2C0}}% Kaktovik Numerals
\message{\kco{1D2E0}}% Mayan Numerals
\message{\kco{1D300}}% Tai Xuan Jing Symbols
\message{\kco{1D360}}% Counting Rod Numerals
\message{\kco{1D400}}% Mathematical Alphanumeric Symbols
\message{\kco{1D800}}% Sutton SignWriting
\message{\kco{1E000}}% Glagolitic Supplement
\message{\kco{1E030}}% Cyrillic Extended-D
\message{\kco{1E100}}% Nyiakeng Puachue Hmong
\message{\kco{1E2C0}}% Wancho
\message{\kco{1E4D0}}% Nag Mundari
\message{\kco{1E800}}% Mende Kikakui
\message{\kco{1E900}}% Adlam
\message{\kco{1EC70}}% Indic Siyaq Numbers
\message{\kco{1ED00}}% Ottoman Siyaq Numbers
\message{\kco{1EE00}}% Arabic Mathematical Alphabetic Symbols
\message{\kco{1F000}}% Mahjong Tiles
\message{\kco{1F030}}% Domino Tiles
\message{\kco{1F0A0}}% Playing Cards
\message{\kco{1F100}}% Enclosed Alphanumeric Supplement
\message{\kco{1F200}}% Enclosed Ideographic Supplement
\message{\kco{1F300}}% Miscellaneous Symbols and Pictographs
\message{\kco{1F600}}% Emoticons
\message{\kco{1F650}}% Ornamental Dingbats
\message{\kco{1F680}}% Transport and Map Symbols
\message{\kco{1F700}}% Alchemical Symbols
\message{\kco{1F780}}% Geometric Shapes Extended
\message{\kco{1F800}}% Supplemental Arrows-C
\message{\kco{1F900}}% Supplemental Symbols and Pictographs
\message{\kco{1FA00}}% Chess Symbols
\message{\kco{1FA70}}% Symbols and Pictographs Extended-A
\message{\kco{1FB00}}% Symbols for Legacy Computing
\message{\kco{E0000}}% Tags
\message{\kco{E0100}}% Variation Selectors Supplement
\message{\kco{F0000}}% Supplementary Private Use Area-A
\message{\kco{100000}}% Supplementary Private Use Area-B


%%% block separation
\message{check block separation default:}
\message{\KC{§}{00A7}}% U+00A7 Latin-1 Supplement
\message{\KC{À}{00C0}}% U+00C0 "Latin-1 Letters" in Latin-1 Supplement
\message{\KC{０}{FF10}}% U+FF10 "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\message{\KC{＠}{FF20}}% U+FF20 Halfwidth and Fullwidth Forms
\message{\KC{ｦ}{FF66}}% U+FF66 "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms


\message{1st:}
\kcatcode"00A7=18% U+00A7+§  Latin-1 Supplement, symbols
\kcatcode"00C0=18% U+00C0:À  Latin-1 Supplement, Latin-1 letters
\kcatcode"FF10=18% U+FF10:０  "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\kcatcode"FF20=18% U+FF20:＠  Halfwidth and Fullwidth Forms
\kcatcode"FF66=18% U+FF66:ｦ  "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms
\message{\KC{§}{00A7}}% U+00A7 Latin-1 Supplement
\message{\KC{À}{00C0}}% U+00C0 "Latin-1 Letters" in Latin-1 Supplement
\message{\KC{０}{FF10}}% U+FF10 "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\message{\KC{＠}{FF20}}% U+FF20 Halfwidth and Fullwidth Forms
\message{\KC{ｦ}{FF66}}% U+FF66 "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms


\message{2nd:}
\kcatcode"00A7=17% U+00A7+§  Latin-1 Supplement, symbols
\kcatcode"00C0=18% U+00C0:À  Latin-1 Supplement, Latin-1 letters
\kcatcode"FF10=16% U+FF10:０  "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\kcatcode"FF20=17% U+FF20:＠  Halfwidth and Fullwidth Forms
\kcatcode"FF66=18% U+FF66:ｦ  "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms
\message{\KC{§}{00A7}}% U+00A7 Latin-1 Supplement
\message{\KC{À}{00C0}}% U+00C0 "Latin-1 Letters" in Latin-1 Supplement
\message{\KC{０}{FF10}}% U+FF10 "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\message{\KC{＠}{FF20}}% U+FF20 Halfwidth and Fullwidth Forms
\message{\KC{ｦ}{FF66}}% U+FF66 "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms


\message{3rd:}
\kcatcode"00A7=18% U+00A7+§  Latin-1 Supplement, symbols
\kcatcode"00C0=17% U+00C0:À  Latin-1 Supplement, Latin-1 letters
\kcatcode"FF10=19% U+FF10:０  "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\kcatcode"FF20=18% U+FF20:＠  Halfwidth and Fullwidth Forms
\kcatcode"FF66=17% U+FF66:ｦ  "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms
\message{\KC{§}{00A7}}% U+00A7 Latin-1 Supplement
\message{\KC{À}{00C0}}% U+00C0 "Latin-1 Letters" in Latin-1 Supplement
\message{\KC{０}{FF10}}% U+FF10 "Fullwidth ASCII variants" in Halfwidth and Fullwidth Forms
\message{\KC{＠}{FF20}}% U+FF20 Halfwidth and Fullwidth Forms
\message{\KC{ｦ}{FF66}}% U+FF66 "Halfwidth Katakana variants" in Halfwidth and Fullwidth Forms


\end
