@@ -142,6 +142,9 @@ async function XmlToMap(xmlPath: string) {
142142 var name = charData . na || charData . na1 ;
143143 if ( ! name && charData [ 'name-alias' ] ) {
144144 name = charData [ 'name-alias' ] [ 0 ] . alias ;
145+ console . log (
146+ `WARN: codepoint ${ charData . cp } missing name, using name-alias '${ name } '`
147+ ) ;
145148 }
146149
147150 if ( name . endsWith ( '#' ) ) {
@@ -185,19 +188,59 @@ async function XmlToMap(xmlPath: string) {
185188 console . log ( `INFO: name-alias data: ${ JSON . stringify ( charData [ 'name-alias' ] ) } ` ) ;
186189 }
187190
191+ if ( charData . JSN && charData . JSN . length > 0 ) {
192+ notes . push ( `Hangul Syllable Type: ${ charData . JSN } ` ) ;
193+ }
194+
195+ const caseVariants : { [ key : string ] : string [ ] } = { } ;
196+ if ( charData . suc && charData . suc . length > 0 && charData . suc !== "#" ) {
197+ caseVariants [ "uppercase" ] = [ charData . ucp ] ;
198+ }
199+ if ( charData . slc && charData . slc . length > 0 && charData . slc !== "#" ) {
200+ caseVariants [ "lowercase" ] = [ charData . lcp ] ;
201+ }
202+ if ( charData . stc && charData . stc . length > 0 && charData . stc !== "#" ) {
203+ caseVariants [ "titlecase" ] = [ charData . tcp ] ;
204+ }
205+ if ( charData . uc && charData . uc . length > 0 && charData . uc !== "#" ) {
206+ caseVariants [ "uppercase" ] = charData . uc . split ( " " ) ;
207+ }
208+ if ( charData . lc && charData . lc . length > 0 && charData . lc !== "#" ) {
209+ caseVariants [ "lowercase" ] = charData . lc . split ( " " ) ;
210+ }
211+ if ( charData . tc && charData . tc . length > 0 && charData . tc !== "#" ) {
212+ caseVariants [ "titlecase" ] = charData . tc . split ( " " ) ;
213+ }
214+ var decomposition : string [ ] | undefined = undefined ;
215+ if ( charData . dm && charData . dm . length > 0 && charData . dm !== "#" ) {
216+ decomposition = charData . dm . split ( " " ) ;
217+ }
218+
219+ if ( charData . bpt && charData . bpt . length > 0 && charData . bpt !== 'n' ) {
220+ notes . push ( `Bidi Paired Bracket Type: ${ charData . bpt == 'o' ? 'Open' : 'Closed' } ` ) ;
221+ notes . push ( `Bidi Paired Bracket: U+${ charData . bpb } ` ) ;
222+ }
223+
188224 var cpData : CodepointData = {
189- code : charData . cp ,
190225 name,
226+ title : charData . na1 || name ,
191227 age : charData . age ,
228+ bidi : charData . bc ,
192229 block : charData . blk ,
230+ caseVariants : Object . keys ( caseVariants ) . length > 0 ? caseVariants : undefined ,
193231 category : charData . gc ,
232+ code : charData . cp ,
233+ combine : charData . ccc ,
234+ decomposition,
235+ mirror : charData . bmg === '' ? undefined : charData . bmg ,
236+ oldname : charData . na1 === '' ? undefined : charData . na1 ,
194237 script : charData . sc ,
195238 tags,
196239 notes,
197240 comments : [ ] ,
198241 indexEntries : [ ] ,
199- related : [ ] ,
200- variants : [ ] ,
242+ related : [ ] ,
243+ variants : [ ] ,
201244 } ;
202245
203246 cpMap [ charData . cp ] = cpData ;
0 commit comments