Module:Sandbox/DePiep/uchar
Appearance
#TOC #code
- § resources - Module:Sandbox/DePiep/uchar /data ExpandT
CCC class
- U+035D ◌◌͝ COMBINING DOUBLE BREVE
[testing: CW=dotc 2 (TIE ◌͝◌ o͝o)] |ID in: #t4=1:>R-t0:0 R-t2:1 0x035D;; hex;0x035D<| → 0x035D [861dec]; (ff.info U+035D) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌◌<; is_combi: true; cwith: ◌◌_cleanchar: ◌◌; CCC class:234
- todo: in /report, add chartlink
WSblue & span
- WSblue
- U+00A0 NO-BREAK SPACE
[testing: nbsp] |ID in: #t4=1:>R-t0:0 R-t2:1 U+A0;; hex;U+A0<| → 0xA0 [160dec]; (ff.info U+00A0) GC: Zs=Space Separator (ff.info Zs)
ASSIG: true; WS: true
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES:  
ALIASES: abbreviation: NBSP - U+2003 EM SPACE
[testing: EMSP] |ID in: #t4=1:>R-t0:0 R-t2:1 U+2003;; hex;U+2003<| → 0x2003 [8195dec]; (ff.info U+2003) GC: Zs=Space Separator (ff.info Zs)
ASSIG: true; WS: true
BLK: General Punctuation; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES:   - U+0020 SPACE
[testing: html-sp] |ID in: #t4=0:>R-t0:0 R-t2:0 32;; dec;20<| → 0x20 [32dec]; (ff.info U+0020) GC: Zs=Space Separator (ff.info Zs)
ASSIG: true; WS: true
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: SP
- test spanning
- test U+0009
- U+0009 � <control-0009>
[testing: 09] |ID in: #t4=1:>R-t0:0 R-t2:1 U+0009;; hex;U+0009<| → 0x0009 [9dec]; (ff.info U+0009) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: 	
ALIASES: abbreviation: HT; TAB control: CHARACTER TABULATION; HORIZONTAL TABULATION
in:char
- CHAR-DEC-HEX
- ...
- U+00A9 © COPYRIGHT SIGN
[testing: char©] |ID in: #t4=0:>R-t0:0 R-t2:0 ©;; char;A9<| → 0xA9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © © - U+00A9 © COPYRIGHT SIGN
[testing: dec169] |ID in: #t4=0:>R-t0:0 R-t2:0 169;; dec;A9<| → 0xA9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © © - U+00A9 © COPYRIGHT SIGN
[testing: hexA9] |ID in: #t4=1:>R-t0:0 R-t2:1 A9;; hex;A9<| → 0xA9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © ©
- U+00B6 ¶ PILCROW SIGN
[testing: char¶] |ID in: #t4=0:>R-t0:0 R-t2:0 ¶;; char;B6<| → 0xB6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+0194 Ɣ LATIN CAPITAL LETTER GAMMA
[testing: by char Ɣ] |ID in: #t4=0:>R-t0:0 R-t2:0 Ɣ;; char;194<| → 0x194 [404dec]; (ff.info U+0194) GC: Lu=Uppercase Letter (ff.info Lu)
ASSIG: true; WS: false
BLK: Latin Extended-B; PLANE: 0: Basic Multilingual Plane;
SC: Latn=Latin; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
- char edges
- U+00A9 © COPYRIGHT SIGN
[testing: char=dec=hex] |ID in: #t4=3:>R-t0:0 R-t2:3 A9;; 169;; ©;; dec; char; hex;A9<| → 0xA9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © ©
- WS NBSP U+00A0 NO-BREAK SPACE
[testing: ] |ID in: #t4=0:>R-t0:0 R-t2:0 ;; char;A0<| → 0xA0 [160dec]; (ff.info U+00A0) GC: Zs=Space Separator (ff.info Zs)
ASSIG: true; WS: true
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES:  
ALIASES: abbreviation: NBSP - U+0026 & AMPERSAND
[testing: ] |ID in: #t4=0:>R-t0:0 R-t2:0 ©;; char;26<| → 0x26 [38dec]; (ff.info U+0026) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: & &
- WS NBSP
- WS NBSP nowiki12739
- edge
- U+0007 � <control-0007>
[testing: ctrl 007] |ID in: #t4=1:>R-t0:0 R-t2:1 0x0007;; hex;0x0007<| → 0x0007 [7dec]; (ff.info U+0007) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: BEL control: ALERT - U+0065 e LATIN SMALL LETTER E
[testing: 65] |ID in: #t4=1:>R-t0:0 R-t2:1 0x65;; hex;0x65<| → 0x65 [101dec]; (ff.info U+0065) GC: Ll=Lowercase Letter (ff.info Ll)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Latn=Latin; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+1F600 😀 GRINNING FACE
[testing: emoji] |ID in: #t4=1:>R-t0:0 R-t2:1 0x1F600;; hex;0x1F600<| → 0x1F600 [128512dec]; (ff.info U+1F600) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Emoticons; PLANE: 1: Supplementary Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+FE00 ︀ VARIATION SELECTOR-1
[testing: variant selector] |ID in: #t4=1:>R-t0:0 R-t2:1 0xFE00;; hex;0xFE00<| → 0xFE00 [65024dec]; (ff.info U+FE00) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Variation Selectors; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: VS1
scripts
- U+0300 ◌̀ COMBINING GRAVE ACCENT
[testing: COMB] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌<; is_combi: true; cwith: nil_dflt non-combi = none_dflt; CCC class:230 - U+FFFF ERR_not_assg <noncharacter-FFFF>
[testing: unk defined] |ID in: #t4=1:>R-t0:0 R-t2:1 0xFFFF;; hex;0xFFFF<| → 0xFFFF [65535dec]; (ff.info U+FFFF) GC: (ff.info Xx)
ASSIG: false; WS: false
BLK: Specials; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+062C ج ARABIC LETTER JEEM
[testing: Arab RTL (//ج_!ج)] |ID in: #t4=1:>R-t0:0 R-t2:1 0x062C;; hex;0x062C<| → 0x062C [1580dec]; (ff.info U+062C) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Arabic; PLANE: 0: Basic Multilingual Plane;
SC: Arab=Arabic; RTLsuffix:true;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
combining
- /sandbox
- Module:Unicode data/sandbox ccc return number value not boolean
- is_comb YES
- is_comb: true
- /sbx: true
- combclass
- lookup_comb: {#invoke:Unicode data|lookup|combiningclass|0x300}}
- /sbx: Lua error in Module:Unicode_data/sandbox at line 529: There is no function 'lookup_combiningclass'.
- is_comb NO
- is_comb: false
- /sbx: false
- combclass
- lookup_comb: {#invoke:Unicode data|lookup|combiningclass|0x0064}}
- /sbx: Lua error in Module:Unicode_data/sandbox at line 529: There is no function 'lookup_combiningclass'.
live module
- U+0300 ◌̀ COMBINING GRAVE ACCENT
[testing: COMB - plain] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌<; is_combi: true; cwith: nil_dflt non-combi = none_dflt; CCC class:230
- 0x300
- U+0300 ◌̀ COMBINING GRAVE ACCENT
[testing: COMB - plain] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌<; is_combi: true; cwith: nil_dflt non-combi = none_dflt; CCC class:230 - U+0300 ◌̀ COMBINING GRAVE ACCENT
[testing: CW-true] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌<; is_combi: true; cwith: true_dflt non-combi = none_dflt; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW-false] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: false_false, suppress; CCC class:230 - U+0300 abc̀ COMBINING GRAVE ACCENT
[testing: CW=abc] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >abc<; is_combi: true; cwith: abc_cleanchar: abc; CCC class:230 - U+0300 à COMBINING GRAVE ACCENT
[testing: CW-a] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >a<; is_combi: true; cwith: a_cleanchar: a; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW=blank] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW=amp-nbsp;] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: > <; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CWnbsp3] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: > <; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW=nbsp] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: > <; is_combi: true; cwith: NBSP_cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW=decoded straight nbsp char] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+035D ◌◌͝ COMBINING DOUBLE BREVE
[testing: CW=dotc 2 (TIE ◌͝◌ o͝o)] |ID in: #t4=1:>R-t0:0 R-t2:1 0x035D;; hex;0x035D<| → 0x035D [861dec]; (ff.info U+035D) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌◌<; is_combi: true; cwith: ◌◌_cleanchar: ◌◌; CCC class:234
- U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW=ws] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW-& 20] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: > <; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW-& qwqw] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: _cleanchar: ; CCC class:230 - U+0300 ̀ COMBINING GRAVE ACCENT
[testing: CW-val] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: 1.23×103_cleanchar: ; CCC class:230
- U+007E spacing tilde
- U+007E ~ TILDE
[testing: COMB - plain] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+007E a~ TILDE
[testing: CW-a] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: >a<; is_combi: false; cwith: a_cleanchar: a; CCC class: - U+007E ~ TILDE
[testing: CW-true] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: true_dflt non-combi = none; CCC class: - U+007E ~ TILDE
[testing: CW=blank] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: _cleanchar: ; CCC class: - U+007E ~ TILDE
[testing: CW=nbsp] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: > <; is_combi: false; cwith: _cleanchar: ; CCC class: - U+007E ~ TILDE
[testing: CW-false] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: false_false, suppress; CCC class: - U+007E ~ TILDE
[testing: CW-ws] |ID in: #t4=1:>R-t0:0 R-t2:1 0x07E;; hex;0x07E<| → 0x07E [126dec]; (ff.info U+007E) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: _cleanchar: ; CCC class:
- other (not cwith testing)
- U+0300 ̀ COMBINING GRAVE ACCENT
[testing: is_combining] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: true; cwith: false_false, suppress; CCC class:230 - U+0300 ◌̀ COMBINING GRAVE ACCENT
[testing: is_combining] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌<; is_combi: true; cwith: true_dflt non-combi = none_dflt; CCC class:230 - U+0300 à COMBINING GRAVE ACCENT
[testing: is_combining] |ID in: #t4=1:>R-t0:0 R-t2:1 0x300;; hex;0x300<| → 0x300 [768dec]; (ff.info U+0300) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >a<; is_combi: true; cwith: a_cleanchar: a; CCC class:230
{collapse top|title=basic / alias / entityname / comb / edge / err}}
TIE double dotcircle
- U+035D ◌◌͝ COMBINING DOUBLE BREVE
[testing: CW=dotc 2 (TIE ◌͝◌ o͝o)] |ID in: #t4=1:>R-t0:0 R-t2:1 0x035D;; hex;0x035D<| → 0x035D [861dec]; (ff.info U+035D) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Combining Diacritical Marks; PLANE: 0: Basic Multilingual Plane;
SC: Zinh=Inherited; RTLsuffix:false;
COMBI PREFIX: >◌◌<; is_combi: true; cwith: ◌◌_cleanchar: ◌◌; CCC class:234
RTL
- U+062C ج ARABIC LETTER JEEM
[testing: RTL (//ج_!ج)] |ID in: #t4=1:>R-t0:0 R-t2:1 0x062C;; hex;0x062C<| → 0x062C [1580dec]; (ff.info U+062C) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Arabic; PLANE: 0: Basic Multilingual Plane;
SC: Arab=Arabic; RTLsuffix:true;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+05D0 א HEBREW LETTER ALEF
[testing: RTL] |ID in: #t4=1:>R-t0:0 R-t2:1 0x05D0;; hex;0x05D0<| → 0x05D0 [1488dec]; (ff.info U+05D0) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Hebrew; PLANE: 0: Basic Multilingual Plane;
SC: Hebr=Hebrew; RTLsuffix:true;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+0624 ؤ ARABIC LETTER WAW WITH HAMZA ABOVE
[testing: RTL] |ID in: #t4=1:>R-t0:0 R-t2:1 0x0624;; hex;0x0624<| → 0x0624 [1572dec]; (ff.info U+0624) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Arabic; PLANE: 0: Basic Multilingual Plane;
SC: Arab=Arabic; RTLsuffix:true;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+0617 ◌ؗ ARABIC SMALL HIGH ZAIN
[testing: RTL diacrit Mn] |ID in: #t4=1:>R-t0:0 R-t2:1 0x0617;; hex;0x0617<| → 0x0617 [1559dec]; (ff.info U+0617) GC: Mn=Nonspacing Mark (ff.info Mn)
ASSIG: true; WS: false
BLK: Arabic; PLANE: 0: Basic Multilingual Plane;
SC: Arab=Arabic; RTLsuffix:true;
COMBI PREFIX: >◌<; is_combi: true; cwith: nil_dflt non-combi = none_dflt; CCC class:230
GenCat
- U+00AD SOFT HYPHEN
[testing: Fo - SHY] |ID in: #t4=1:>R-t0:0 R-t2:1 0xAD;; hex;0xAD<| → 0xAD [173dec]; (ff.info U+00AD) GC: Cf=Other format (ff.info Cf)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ­
ALIASES: abbreviation: SHY
Aliases
- U+00A0 NO-BREAK SPACE
[testing: ABBR] |ID in: #t4=1:>R-t0:0 R-t2:1 A0;; hex;A0<| → 0xA0 [160dec]; (ff.info U+00A0) GC: Zs=Space Separator (ff.info Zs)
ASSIG: true; WS: true
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES:  
ALIASES: abbreviation: NBSP - U+FEFF ZERO WIDTH NO-BREAK SPACE
[testing: ALTE] |ID in: #t4=1:>R-t0:0 R-t2:1 0x00feff;; hex;0x00feff<| → 0x00FEFF [65279dec]; (ff.info U+FEFF) GC: Cf=Other format (ff.info Cf)
ASSIG: true; WS: false
BLK: Arabic Presentation Forms-B; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: BOM; ZWNBSP alternate: BYTE ORDER MARK - U+000A � <control-000A>
[testing: CONT: 3+3 aliases] |ID in: #t4=1:>R-t0:0 R-t2:1 0a;; hex;0a<| → 0x0A [10dec]; (ff.info U+000A) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: LF; NL; EOL control: LINE FEED; NEW LINE; END OF LINE - U+2118 ℘ SCRIPT CAPITAL P
[testing: CORR weier] |ID in: #t4=1:>R-t0:0 R-t2:1 2118;; hex;2118<| → 0x2118 [8472dec]; (ff.info U+2118) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Letterlike Symbols; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ℘ ℘
ALIASES: correction: WEIERSTRASS ELLIPTIC FUNCTION - U+2118 ℘ SCRIPT CAPITAL P
[testing: CORR wer 0x] |ID in: #t4=1:>R-t0:0 R-t2:1 0x2118;; hex;0x2118<| → 0x2118 [8472dec]; (ff.info U+2118) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Letterlike Symbols; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ℘ ℘
ALIASES: correction: WEIERSTRASS ELLIPTIC FUNCTION - U+0081 � <control-0081>
[testing: FIGM] |ID in: #t4=1:>R-t0:0 R-t2:1 0x000081;; hex;0x000081<| → 0x000081 [129dec]; (ff.info U+0081) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: HOP figment: HIGH OCTET PRESET - U+0081 � <control-0081>
[testing: FIGM] |ID in: #t4=1:>R-t0:0 R-t2:1 0x0081;; hex;0x0081<| → 0x0081 [129dec]; (ff.info U+0081) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: HOP figment: HIGH OCTET PRESET - U+0081 � <control-0081>
[testing: FIGM-0081] |ID in: #t4=1:>R-t0:0 R-t2:1 0081;; hex;0081<| → 0x0081 [129dec]; (ff.info U+0081) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: HOP figment: HIGH OCTET PRESET - U+0081 � <control-0081>
[testing: FIGM] |ID in: #t4=1:>R-t0:0 R-t2:1 81;; hex;81<| → 0x81 [129dec]; (ff.info U+0081) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: HOP figment: HIGH OCTET PRESET
Named Entities
- U+00A9 © COPYRIGHT SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 00a9;; hex;00a9<| → 0x00A9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © © - U+0040 @ COMMERCIAL AT
[testing: ] |ID in: #t4=0:>R-t0:0 R-t2:0 64;; dec;40<| → 0x40 [64dec]; (ff.info U+0040) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: @ - U+00A8 ¨ DIAERESIS
[testing: dec[168] 4x] |ID in: #t4=0:>R-t0:0 R-t2:0 168;; dec;A8<| → 0xA8 [168dec]; (ff.info U+00A8) GC: Sk=Modifer Symbol (ff.info Sk)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¨ ¨ ¨ ¨
assig
- >-A9< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=1:>R-t0:0 R-t2:1 -A9;; hex;-A9<|
- >0x302118< ERR hexIn ERR convertHexInToHex0x: uHex out of U+ range0x302118 |ID in: #t4=1:>R-t0:0 R-t2:1 0x302118;; hex;0x302118<|
- U+FFFF ERR_not_assg <noncharacter-FFFF>
[testing: assig false] |ID in: #t4=1:>R-t0:0 R-t2:1 0xFFFF;; hex;0xFFFF<| → 0xFFFF [65535dec]; (ff.info U+FFFF) GC: (ff.info Xx)
ASSIG: false; WS: false
BLK: Specials; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
Edge
- U+2118 ℘ SCRIPT CAPITAL P
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 0x002118;; hex;0x002118<| → 0x002118 [8472dec]; (ff.info U+2118) GC: Sm=Math Symbol (ff.info Sm)
ASSIG: true; WS: false
BLK: Letterlike Symbols; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ℘ ℘
ALIASES: correction: WEIERSTRASS ELLIPTIC FUNCTION - U+0634 ش ARABIC LETTER SHEEN
[testing: is_rtl] |ID in: #t4=1:>R-t0:0 R-t2:1 634;; hex;634<| → 0x634 [1588dec]; (ff.info U+0634) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Arabic; PLANE: 0: Basic Multilingual Plane;
SC: Arab=Arabic; RTLsuffix:true;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+00A0 NO-BREAK SPACE
[testing: ws] |ID in: #t4=1:>R-t0:0 R-t2:1 A0;; hex;A0<| → 0xA0 [160dec]; (ff.info U+00A0) GC: Zs=Space Separator (ff.info Zs)
ASSIG: true; WS: true
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES:  
ALIASES: abbreviation: NBSP - U+0007 � <control-0007>
[testing: control] |ID in: #t4=1:>R-t0:0 R-t2:1 7;; hex;7<| → 0x7 [7dec]; (ff.info U+0007) GC: Cc=Other control (ff.info Cc)
ASSIG: true; WS: false
BLK: Basic Latin; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
ALIASES: abbreviation: BEL control: ALERT - U+FFEF ERR_not_assg <reserved-FFEF>
[testing: not assigned] |ID in: #t4=1:>R-t0:0 R-t2:1 0xFFeF;; hex;0xFFeF<| → 0xFFEF [65519dec]; (ff.info U+FFEF) GC: (ff.info Xx)
ASSIG: false; WS: false
BLK: Halfwidth and Fullwidth Forms; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+FFDF ERR_not_assg <reserved-FFDF>
[testing: not assigned] |ID in: #t4=1:>R-t0:0 R-t2:1 FFdF;; hex;FFdF<| → 0xFFDF [65503dec]; (ff.info U+FFDF) GC: (ff.info Xx)
ASSIG: false; WS: false
BLK: Halfwidth and Fullwidth Forms; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+00A9 © COPYRIGHT SIGN
[testing: dec 169 in (A9) (c) mark] |ID in: #t4=0:>R-t0:0 R-t2:0 169;; dec;A9<| → 0xA9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © ©
- Lua error in Module:Unicode_data/sandbox at line 529: There is no function 'lookup_combiningclass'.
dec input
- U+00A9 © COPYRIGHT SIGN
[testing: input dec=169 (A9)] |ID in: #t4=0:>R-t0:0 R-t2:0 169;; dec;A9<| → 0xA9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © © - U+00A9 © COPYRIGHT SIGN
[testing: A9] |ID in: #t4=1:>R-t0:0 R-t2:1 00a9;; hex;00a9<| → 0x00A9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © © - U+00A9 © COPYRIGHT SIGN
[testing: dec*hex, same value] |ID in: #t4=2:>R-t0:0 R-t2:2 00a9;; 169;; dec; hex;00a9<| → 0x00A9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © © - U+00A9 © COPYRIGHT SIGN
[testing: dec*hex, diff value] |ID in: #t4=2:>R-t0:0 R-t2:2 00a9;; 961;; dec; hex;00a9<| → 0x00A9 [169dec]; (ff.info U+00A9) GC: So=Other Symbol (ff.info So)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: © ©
notacharacter
- U+FFFF ERR_not_assg <noncharacter-FFFF>
[testing: ffff] |ID in: #t4=1:>R-t0:0 R-t2:1 FFFF;; hex;FFFF<| → 0xFFFF [65535dec]; (ff.info U+FFFF) GC: (ff.info Xx)
ASSIG: false; WS: false
BLK: Specials; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
Basic
- U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 b6;; hex;b6<| → 0xB6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 U+b6;; hex;U+b6<| → 0xB6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 0xb6;; hex;0xb6<| → 0xB6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 00b6;; hex;00b6<| → 0x00B6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 00b6;; hex;00b6<| → 0x00B6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 00000b6;; hex;00000b6<| → 0x00000B6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - U+103A6 𐎦 OLD PERSIAN SIGN GU
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 103A6;; hex;103A6<| → 0x103A6 [66470dec]; (ff.info U+103A6) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Old Persian; PLANE: 1: Supplementary Multilingual Plane;
SC: Xpeo=Old Persian; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+103A6 𐎦 OLD PERSIAN SIGN GU
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 103A6;; hex;103A6<| → 0x103A6 [66470dec]; (ff.info U+103A6) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Old Persian; PLANE: 1: Supplementary Multilingual Plane;
SC: Xpeo=Old Persian; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+103A6 𐎦 OLD PERSIAN SIGN GU
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 0x103A6;; hex;0x103A6<| → 0x103A6 [66470dec]; (ff.info U+103A6) GC: Lo=Other Letter (ff.info Lo)
ASSIG: true; WS: false
BLK: Old Persian; PLANE: 1: Supplementary Multilingual Plane;
SC: Xpeo=Old Persian; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
image
- U+EB40
<private-use-EB40>
[testing: IMG conscript PU]] |ID in: #t4=1:>R-t0:0 R-t2:1 0xEB40;; hex;0xEB40<| → 0xEB40 [60224dec]; (ff.info U+EB40) GC: Co=Other private use (ff.info Co)
ASSIG: true; WS: false
BLK: Private Use Area; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+EB40
<private-use-EB40>
[testing: IMG conscript PU]] |ID in: #t4=1:>R-t0:0 R-t2:1 0xEB40;; hex;0xEB40<| → 0xEB40 [60224dec]; (ff.info U+EB40) GC: Co=Other private use (ff.info Co)
ASSIG: true; WS: false
BLK: Private Use Area; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class: - U+EB40
<private-use-EB40>
[testing: IMG conscript PU]] |ID in: #t4=1:>R-t0:0 R-t2:1 0xEB40;; hex;0xEB40<| → 0xEB40 [60224dec]; (ff.info U+EB40) GC: Co=Other private use (ff.info Co)
ASSIG: true; WS: false
BLK: Private Use Area; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
- U+EB5F
<private-use-EB5F>
[testing: IMG conscript PU]] |ID in: #t4=1:>R-t0:0 R-t2:1 0xEB5F;; hex;0xEB5F<| → 0xEB5F [60255dec]; (ff.info U+EB5F) GC: Co=Other private use (ff.info Co)
ASSIG: true; WS: false
BLK: Private Use Area; PLANE: 0: Basic Multilingual Plane;
SC: Zzzz=Unknown; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
- 21px U+EB40
file:SGA letter A.png
- 21px U+EB5F
file:SGA fullstop.png
err
- >U+2200a9< ERR hexIn ERR convertHexInToHex0x: uHex out of U+ range0x2200A9 |ID in: #t4=1:>R-t0:0 R-t2:1 U+2200a9;; hex;U+2200a9<|
- >-A9< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=1:>R-t0:0 R-t2:1 -A9;; hex;-A9<|
- >acbxzy< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=1:>R-t0:0 R-t2:1 acbxzy;; hex;acbxzy<|
- U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 00B 6;; hex;00B 6<| → 0x00B6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - >u+b6< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=1:>R-t0:0 R-t2:1 u+b6;; hex;u+b6<|
- >0x0AG< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=1:>R-t0:0 R-t2:1 0x0AG;; hex;0x0AG<|
- >00000G6< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=1:>R-t0:0 R-t2:1 00000G6;; hex;00000G6<|
- U+00B6 ¶ PILCROW SIGN
[testing: ] |ID in: #t4=1:>R-t0:0 R-t2:1 00B 6;; hex;00B 6<| → 0x00B6 [182dec]; (ff.info U+00B6) GC: Po=Other Punctuation (ff.info Po)
ASSIG: true; WS: false
BLK: Latin-1 Supplement; PLANE: 0: Basic Multilingual Plane;
SC: Zyyy=Common; RTLsuffix:false;
COMBI PREFIX: ><; is_combi: false; cwith: nil_dflt non-combi = none; CCC class:
NAMED ENTITIES: ¶ - >< ERR hexIn ERR convertHexInToHex0x: no uHex input |ID in: #t4=1:>R-t0:0 R-t2:1 ;; hex;<|
- >?< ERR hexIn ERR convertHexInToHex0x: uHex is not hex: >nil< |ID in: #t4=0:>R-t0:0 R-t2:0-1<|
params & functions
|
hex, normalize, return '' for error
- no '0x', no 'U+'
|
dec to hex, round trip (works 11-4); no check on conflicting input|cwith=true/false
dflt=true dotted circle for combinong; else false. So only|cwith=false
changes something- props: script Xxxx, gencat, control, assigned, name,
- indirect/from /data: NamedEnties --todo
- alias: -- todo
old parameters
{{Unichar}}
-- parameters: -- new synonyms(?): -- hex, f, dotted_circle, image, size, -- old/depr/rename: -- 1=[hex], hval=[hex, syn]; 2=[name], na=[name]; nlink=[namelink]; ulink=[U+_link]; use, use2=[]; HTML, html; sans, size; note
-- old /doc: Error using {{unichar}}: Input "--" is not a hexadecimal value.
{{unichar
| <!-- hex value, code point (do not add the "U+") -->
| <!-- Unicode name, in ALL-CAPS -->
| ulink =
| image =
| cwith =
| size =
| use =
| use2 =
| nlink =
| dec =
| html =
| note =
| sans = <!-- must be ⟨y⟩ and only ⟨y⟩ to make "U+" as sans-serif & not mono -->
}}
resources
- enwiki:Unichar (existing)
- Unichar/sandbox (edit · t · history · diff · links · /test · Source · e · t · hist · links · /subpages · /doc · /doc edit) TPU (Category:Pages using Unichar with unknown parameters (19))
- new: m:DePiep/uchar
- enwiki:Unicode data
- Module:Unicode data
HTML named entity
- ../Numcr2namecr [1])
- List of XML and HTML character entity references § Character entity references in HTML
converters (el)
character properties
NaC - Not A Character (Cx)
- TR44 CharProps eg 4.2.5.]
- Table 3. Code Point Label Tags
Tag General_Category Note reserved Cn Noncharacter_Code_Point=F noncharacter Cn Noncharacter_Code_Point=T control Cc private-use Co surrogate Cs
WS - (whitespace)
COMBINING - ccc (diacritics)
- ccc - Canonical Combining Classes
{{dotted circle}}
,
Sc (scripts)
- [2]TR24 Unicode Script Property, table3;]
enwiki
- Module:Unicode convert; Module:Charmap
- letters Category:Redirects from Unicode characters (31,422)
- module helpers (string, ..)
- Lua support
- WT:LUA, WT:TSTYLE
- Module:Str find word
- WP support
{{lrm}}
,{{mono}}
,{{smallcaps2}}
- Articles punctuation
![]() | This module is rated as pre-alpha. It is unfinished, and may or may not be in active development. It should not be used from article namespace pages. Modules remain pre-alpha until the original editor (or someone who takes one over if it is abandoned for some time) is satisfied with the basic structure. |
{{Sandbox/DePiep/mysandboxes|1=}}
code
#Top ( )
-- todo split consist Char and Args
-- todo cwith double dotcircle 230/239, 233, 234
-- thought: option "speccial notes", listing: "whitesace, control, combining, NaC, .."
require( 'strict' )
local p = {}
local getArgs = require( 'Module:Arguments' ).getArgs
local uChar_data = mw.loadData( 'Module:Sandbox/DePiep/uchar/data' )
local uData = require('Module:Unicode data')
local uData_helper = require('Module:Sandbox/DePiep/uchar-helper')
local uBaseConvert = require('Module:BaseConvert')
local yesno = require('Module:Yesno')
local str = require('Module:String')
local plaintext = require('Module:Plain text')
--- local tabletools = require('Module:TableTools')
local ERRstatus = ''
local tUchar = {}
local DOTTED_CIRCLE = '◌' -- U+25CC
local NBSP = ' ' -- U+00A0
local LEFT_TO_RIGHT_MARK = '‎' -- U+200E LEFT-TO-RIGHT MARK (‎)
local DEFAULT_IMAGE_SIZE = '21px'
local WS_BLUE = 'lightblue'
local function testH( s )
local h = mw.html.create('span')
h
:attr('id', 'testH')
:tag('big')
:css('background', WS_BLUE)
:wikitext( s )
--:newline()
return tostring(h)
end
local function addStyles( tChar )
local h = mw.html.create('span')
h
:attr('id', 'testH')
:css('font-size', '150%')
:wikitext( tChar.uChar )
if tChar.uIsWhitespace == true then
h:css('background', WS_BLUE)
end
--:newline()
return tostring(h)
end
function p.testH( frame )
local origArgs = getArgs( frame )
return testH( origArgs[1] )
end
function p.testFromDoc(frame)
local div = mw.html.create( 'div' )
div
:attr( 'id', 'testdiv' )
:css( 'width', '100%' )
:wikitext( 'Some text' )
:tag( 'hr' )
return tostring( div )
-- Output: <div id="testdiv" style="width:100%;">Some text<hr /></div>
end
-- FORMATTERS ===== ===== ===== ===== ===== ===== ===== =====
local function inTag( s, arg, val, divspan )
local obj
local rprt = ''
if divspan == 'div' or divspan == 'span' then
else
return nil -- ERR
end
return s, rprt
end
local function decodeString( s )
if s == nil then return nil end
return mw.text.decode( s )
end
-- Format string in <code> tag / from m:str find word
-- replaces whitespace by single nbsp ( keep untrimmed ws visible )
local function inCode( s )
if s == nil then return '' end
s = string.gsub( s, '%s+', ' ' )
return '<code>' .. s .. '</code>'
end
-- Use mono font-family ( from: Template:Mono )
local function inMono( s )
if s == nil then s = '' end
s = string.gsub( s, '%s+', ' ' )
return '<span class="monospaced" style="font-family: monospace, monospace;">' .. s .. '</span>'
end
local function inSmallcaps( s )
if ( s == nil ) or ( s == '' ) then return '' end
-- '<templatestyles src="smallcaps/styles.css"/>'
-- Smallcaps/styles.css: span.smallcaps {font-variant: small-caps;}
local sc
-- sc = '<templatestyles src="smallcaps/styles.css"/>'
sc = '<span class="smallcaps-smaller" style="font-size:85%; xxxvariant: small-caps;">' .. s .. '</span>'
return sc
end
local function xlLinkFileFormat( uHexBare0x, uHexFormat, sGenCat )
-- depending on parameter used, xlink one of two
if uHexBare0x ~= nil then -- Character data page
-- https://www.fileformat.info/info/unicode/char/00ad/index.htm (or "/ad/"); no 0x no uc
return '[https://www.fileformat.info/info/unicode/char/' .. string.lower( uHexBare0x ) .. '/index.htm ff.info '
.. uHexFormat .. ']'
else -- GenCat list, for example gencat "Nd":
-- https://www.fileformat.info/info/unicode/category/Nd/list.htm
return '[https://www.fileformat.info/info/unicode/category/' .. sGenCat .. '/list.htm ff.info '
.. sGenCat .. ']'
end
end
-- UHEX HANDLERS & FORMATTERS ----- ----- ----- ----- ----- ----- ----- ----- -----
local function formatUhex( uHex0x, uLink )
-- formatting into normalform "U+00A9"
local uHexFmt -- working
uHexFmt = string.gsub( uHex0x, '^0x', '' )
uHexFmt = string.gsub( uHexFmt, '^0*', '' )
uHexFmt = 'U+' .. string.sub( '0000' .. uHexFmt, - math.max( #uHexFmt, 4 ) )
if uLink ~= nil then
return uHexFmt .. '_[todo: fmt Uhex_link_U+]'
end
return uHexFmt
end
local function formatGenCat( sGenCat, fmt )
local tCat
tCat = uChar_data.tGenCat[sGenCat]
if tCat == nil then return '' end
return inMono(sGenCat) .. '=' .. tCat[1]
end
-- Formats table ( array ) using concat
-- replace space by nbsp ( keep untrimmed sp )
-- in monospace font-family
local function formatTablelist( t ) -- unused?
local s = ''
if t == nil then return '<?>' end
s = table.concat( t, '; ' )
s = mw.text.decode( string.gsub( s, '%s+', ' ' ) )
s = '<' .. inMono( s ) .. '>'
return s
end
local function formatCombiningChar( is_combining, cWith )
local addPrefix
local uCombWith -- working, cWith logic
local rprt
-- todo need 4-way logic for cwith
cWith = decodeString( cWith )
rprt = 'is_combi: ' .. tostring( is_combining ) .. '; cwith: ' .. tostring( cWith )
-- strip wikicode; but save NBSP -- todo improve, test
if cWith ~= nil then
cWith = string.gsub( cWith, NBSP, 'NBSP' )
cWith = plaintext._main( cWith, false )
cWith = string.gsub( cWith, 'NBSP', NBSP)
end
uCombWith = yesno( cWith ) -- y/n/nil (3-way logic; 'foo' == nil)
addPrefix = ''
if (cWith == nil) or (uCombWith == true) then -- default: per is_combining
rprt = rprt .. '_dflt non-combi = none'
if is_combining == true then
addPrefix = DOTTED_CIRCLE
rprt = rprt .. '_dflt'
end
elseif uCombWith == false then -- explicitly false, so suppress
addPrefix = ''
rprt = rprt .. '_false, suppress'
else -- use character provided by cwith
addPrefix = cWith
rprt = rprt .. '_cleanchar: ' .. tostring( cWith )
end
return addPrefix, rprt
end
-- READ & PROCESS ==== ====== ===== ===== ===== ===== ===== =====
local function convertHexInToHex0x( uHexAnyform )
local uHexBare0x
local uHex0x -- targets
local uHexNum
local uHexFormat
if ( uHexAnyform == nil ) or ( uHexAnyform == '' ) then
ERRstatus ='ERR convertHexInToHex0x: no uHex input'
return nil
end
uHexBare0x = decodeString( uHexAnyform )
uHexBare0x = string.gsub( uHexBare0x, '%s', '' )
uHexBare0x = string.gsub( uHexBare0x, '^U%+', '' )
uHexBare0x = string.gsub( uHexBare0x, '^0x', '' )
uHexBare0x = string.upper( uHexBare0x )
uHex0x = '0x' .. uHexBare0x
-- number check
uHexNum = tonumber( uHex0x ) -- kills NaN, todo: test this
if uHexNum == nil then
ERRstatus ='ERR convertHexInToHex0x: uHex is not hex: >' .. tostring( uHexNum ) .. '<'
return nil
elseif ( uHexNum < 0 ) or ( uHexNum > 0x10FFFF ) then
ERRstatus ='ERR convertHexInToHex0x: uHex out of U+ range' .. uHex0x
return nil
end
uHexFormat = formatUhex( uHex0x )
return uHex0x, uHexNum, uHexBare0x, uHexFormat
end
local function convertHexToDec( uHex0x )
local xVal
if uHex0x == nil then return nil end
xVal = uBaseConvert.convert( {n = uHex0x, base = 10, from = 16} )
return xVal
end
local function convertDecToHex( uDec )
-- todo: dec input is NaN, err, edge
if uDec == nil then return nil end
return uBaseConvert.convert( {n = tonumber( uDec, 10 ), base = 16, from = 10} )
end
-- GET DATA ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ====
local function getBlock( uHexNum )
uData.lookup_block( uHexNum )
return 'blck'
end
local function getPlane( uHexNum )
local i = math.floor(uHexNum / 0x10000)
return i .. ': ' .. uChar_data.tPlanes[i]
end
local function getCombiningClass( uHex0x )
-- CCC
-- todo: 239 (230), 233, 234 = between spacing chars.
local ccc
ccc = uData_helper.lookup_combiningclass( uHex0x ) or '' -- new -helper function
return ccc
end
local function getNamedEntities( uDec, fmt )
-- returns from datalist, by decimal val:
-- formatted into concat.table list
-- demo: [168]='&uml;, &die;, &Dot;, &DoubleDot;'
local tNamedEntitiesData = mw.loadData( 'Module:Numcr2namecr' )
local sNameList
local tNames= {}
---- uDec=169
-- fmt = report
-- id = decimal input
sNameList = tNamedEntitiesData[tonumber(uDec)]
if sNameList == nil then return nil end
sNameList = decodeString( sNameList ) -- has literal '&' in source
local patstring = '%f[^&][^%;]+%f[%;]'
local hitCount = 0
local hitWord = ''
while hitCount <= 20 do
hitCount = hitCount + 1
hitWord = str._match( sNameList, patstring, 1, hitCount, false, '' )
hitWord = mw.text.trim( hitWord )
if hitWord ~= '' then
table.insert( tNames, inMono( '&' .. hitWord .. ';' ) )
elseif hitWord == '' then
-- no more hits in the string
break
end
end
return table.concat( tNames, '  ' ) -- double spaced
end
local function getAliases( uHex )
-- returns t5{} = 5 alias tables named by reason
-- demo 0x002118 = weier
local tAllAliases = mw.loadData( 'Module:Unicode data/aliases' )
local tCPalias = {}
tCPalias = tAllAliases[uHex]
if tCPalias == nil then return nil end
-- for 2-deep 5-subtable ( Aliases )
local tAlias5 = {}
local abbreviation = {}
local alternate = {}
local correction = {}
local control = {}
local figment = {}
tAlias5["abbreviation"] = abbreviation
tAlias5["alternate"] = alternate
tAlias5["control"] = control
tAlias5["correction"] = correction
tAlias5["figment"] = figment
for i, v in ipairs( tCPalias ) do
-- i = counter, v[i] = table (1/5), v[2] = tablename ( alias, 1/5 )
if type( v ) == 'table' then
table.insert( tAlias5[v[1]], v[2] )
end
end
return tAlias5
end
local function getScriptName( sScriptISO )
local sName
local UDscripts = mw.loadData( 'Module:Unicode data/scripts' )
if sScriptISO == nil then return nil end
sName = UDscripts.aliases[sScriptISO] or nil
if sName == nil then
sName = '_unk'
end
return sName
end
local function formatAlias5( t5Alias, fmt )
local sReport
if t5Alias == nil then return nil end
-- fmt = report
sReport = '<br/>ALIASES: '
for k, v in pairs( t5Alias ) do
if #v > 0 then
sReport = sReport .. ' ' .. k .. ': ' .. table.concat( v, '; ' )
end
end
return sReport
end
-- 1. PARSE INCOMING ARGS
-- 2. READ PROPERTIES
local function getArgsAndProps( origArgs )
local tNewArgs = {}
local inHex, inDec, inChar = 1, 2, 3 -- 'inHex', 'inDec', 'inChar'
local tOrigIn = { inHex=nil, inDec=nil, inChar=nil }
local uHexIn = -1 -- the base input
local uHex0x, uHexNum -- local working val
--xx
-- PART 1 READ & NORMALISE ORIG ARGUMENTS
-- HEX DEC CHAR
local rprt = 'R-t0:' .. #tOrigIn
tOrigIn[inHex] = (origArgs[1] or origArgs['hex']) or nil -- todo: split for check?
tOrigIn[inDec] = origArgs['dec'] or nil
tOrigIn[inChar] = decodeString( origArgs['char'] ) or nil
rprt = rprt .. ' R-t2:' .. #tOrigIn
for n, v in pairs( tOrigIn ) do
if v ~= nil then
rprt = rprt .. ' ' .. tostring(v) .. ';;'
end
end
if tOrigIn[inDec] ~= nil then
uHexIn = convertDecToHex( tOrigIn[inDec] )
rprt = rprt .. ' dec;'
end
if tOrigIn[inChar] ~= nil then
uHexIn = convertDecToHex( mw.ustring.codepoint( tOrigIn[inChar] ))
rprt = rprt .. ' char;'
end
if tOrigIn[inHex] ~= nil then
uHexIn = tOrigIn[inHex]
rprt = rprt .. ' hex;'
end
-- REPORT todo: what if >1 input?: err msg, prio, conflictcheck
-- 2023-02-04: removed "\|" "invalid escape sequence" ???
tNewArgs['rprtOrigIDs'] = ' |ID in: #t4=' .. #tOrigIn .. ':>' .. rprt .. tostring(uHexIn) .. '<| '
-- returns: uHex0x, uHexNum, uHexBare0x, uHexFormat
tNewArgs['uHex0x'], tNewArgs['uHexNum'], tNewArgs['uHexBare0x'], tNewArgs['uHexFormat'] = convertHexInToHex0x( uHexIn )
if tNewArgs['uHex0x'] == nil then -- ERROR
-- shortcut to error #1: no uHex (valid 0x) input
return tNewArgs
end
-- local shortcut only
uHex0x = tNewArgs['uHex0x']
uHexNum = tNewArgs['uHexNum']
-- DEC
tNewArgs['uDec'] = convertHexToDec( uHex0x )
-- OTHER ORIG ARGS
tNewArgs['uNameLink'] = origArgs['link'] or origArgs['nlink'] -- old nlink = depr paramname
tNewArgs['format'] = origArgs['format'] or ''
tNewArgs['cwith'] = decodeString( origArgs['cwith'] )
tNewArgs['uSize'] = origArgs['size']
tNewArgs['uImage'] = origArgs['image']
tNewArgs['html'] = origArgs['html'] -- depr?
tNewArgs['ulink'] = origArgs['ulink'] -- old ulink = depr?
-- test notice
tNewArgs['test'] = origArgs['test'] or ''
-- PART 2 READ & USE PROPERTIES == == == == == == == == == == == == == == == == == == == == == == == ==
-- ASSIGNED, GenCat, Control, Char
tNewArgs['uIsAssigned'] = uData.is_assigned( uHexNum )
if tNewArgs['uIsAssigned'] == true then
tNewArgs['uGenCat'] = uData.lookup_category( uHexNum )
tNewArgs['uChar'] = mw.text.decode( '&#x' .. tNewArgs['uHex0x'] .. ';' )
else
tNewArgs['uGenCat'] = 'Xx' -- todo not assigned == <reserved>?
tNewArgs['uChar'] = 'ERR_not_assg' -- ERROR
end
tNewArgs['uBlock'] = uData.lookup_block( uHexNum )
tNewArgs['uPlane'] = getPlane( uHexNum )
-- CHAR replacement
if tNewArgs['uGenCat'] == 'Cc' then
tNewArgs['uChar'] = '�' -- '?' placeholder
end
if tNewArgs['uGenCat'] == 'Cc' then -- assuming this is 1:1
tNewArgs['uIsControl'] = true
else
tNewArgs['uIsControl'] = false
end
--NAME, ALIASES
tNewArgs['uName'] = uData.lookup_name( uHexNum )
tNewArgs['Aliases'] = getAliases( uHexNum ) -- table5
--PROPS Script, Latin, WS
tNewArgs['uIsLatin'] = uData.is_Latin( tostring( tNewArgs['uChar'] ) )
tNewArgs['uScript'] = uData.lookup_script( uHexNum )
tNewArgs['uScriptName'] = getScriptName( tNewArgs['uScript'] )
tNewArgs['uIsWhitespace'] = uData.is_whitespace( uHexNum )
--PROPS rtl
tNewArgs['uIsRtl'] = uData.is_rtl( tostring( tNewArgs['uChar'] ) )
--PROPS2 COMBINING PREFIX Combining/cwith/dottedcircle, CCC
tNewArgs['uIsCombining'] = uData.is_combining( uHexNum ) or false
if yesno( tNewArgs['uIsCombining'], false ) == true then -- todo: could do: read ccc, once ;-)
tNewArgs['uCombiningClass'] = getCombiningClass( uHexNum )
end
tNewArgs['uCombiningClass'] = getCombiningClass( uHexNum )
tNewArgs['uCharPrefix'], tNewArgs['uCwithReport'] = formatCombiningChar( tNewArgs['uIsCombining'], tNewArgs['cwith'] )
-- CHAR SUFFFIX; rtl
if tNewArgs['uIsRtl'] == true then
tNewArgs['uCharSuffix'] = LEFT_TO_RIGHT_MARK
else
tNewArgs['uCharSuffix'] = ''
end
--PROPS3: NamedEntities
tNewArgs['NamedEntities'] = getNamedEntities( convertHexToDec( uHex0x ) )
return tNewArgs
end
function p._main ( args )
return '_todo _main'
end
function p.main ( frame )
local origArgs = getArgs( frame, { trim=false, removeBlanks=false } )
local tArgs = {}
local s = ''
tUchar = getArgsAndProps( origArgs )
if tUchar['uHex0x'] == nil then
return ' >' .. ( origArgs[1] or '?' ) .. '< ERR hexIn ' .. ERRstatus .. ' ' .. (tUchar['rprtOrigIDs'] or 'unk1')
end
-- REPORT RPRT
s = formatUhex( tUchar['uHex0x'] )
--string together & css format
tUchar.uChar = tUchar['uCharPrefix'] .. tUchar.uChar .. tUchar['uCharSuffix'] -- cwith, rtl,
--- tUchar['styledChar'] = addStyles( tUchar )
local cssChar
cssChar = addStyles( tUchar )
if tUchar['uImage'] ~= nil then
s = s .. ' [[file:' .. tUchar['uImage'] .. '|' .. ( tUchar['uSize'] or DEFAULT_IMAGE_SIZE ) .. ']] '
else
--s = s .. ' <big>' .. tUchar['uCharPrefix'] .. tUchar.uChar .. tUchar['uCharSuffix'] .. '</big> '
s = s .. ' ' .. cssChar .. ' '
end
s = s .. inSmallcaps( tUchar['uName'] )
s = s .. '<br/>[testing: ' .. tUchar['test'] .. ']' .. (tUchar['rprtOrigIDs'] or '?') .. '→ '
.. tUchar['uHex0x'] .. ' [' .. tUchar['uDec'] .. '<sub>dec</sub>]'.. '; (' .. xlLinkFileFormat( tUchar['uHexBare0x'], tUchar['uHexFormat'] ) .. ') '
.. 'GC: ' .. formatGenCat( tUchar['uGenCat'] ) .. ' (' .. xlLinkFileFormat( nil, nil, tUchar['uGenCat'] ) .. ')'
.. '<br/>ASSIG: ' .. tostring( tUchar['uIsAssigned'] ) .. '; '
.. 'WS: '.. tostring( tUchar['uIsWhitespace'] )
.. '<br/>BLK: ' .. tUchar['uBlock'] .. '; PLANE: ' .. tUchar['uPlane'] .. '; '
.. '<br/>SC: ' .. tUchar['uScript'] .. '=' .. tUchar['uScriptName'] .. '; RTLsuffix:' .. tostring( tUchar['uIsRtl'] ) .. '; '
s = s .. '<br/>COMBI PREFIX: >' .. tUchar['uCharPrefix'] .. '<; ' .. tUchar['uCwithReport']
.. '; CCC class:' .. ( tUchar['uCombiningClass'] or '-' )
if tUchar['NamedEntities'] ~= nil then
s = s .. '<br/>NAMED ENTITIES: ' .. tUchar['NamedEntities']
end
if tUchar['Aliases'] ~= nil then
s = s .. formatAlias5( tUchar['Aliases'], 'report' )
end
return s
end
function p.test(frame)
local sChar
sChar = frame.args['char']
return mw.ustring.codepoint(sChar, 1, 2)
end
function p.testScriptName( frame )
local sISOid
sISOid = frame.args[1]
return getScriptName(sISOid)
end
return p