OLD | NEW |
1 | 1 |
2 source [file join [file dirname [info script]] parseunicode.tcl] | 2 source [file join [file dirname [info script]] parseunicode.tcl] |
3 | 3 |
4 proc print_rd {map} { | 4 proc print_rd {map} { |
5 global tl_lookup_table | 5 global tl_lookup_table |
6 set aChar [list] | 6 set aChar [list] |
7 set lRange [list] | 7 set lRange [list] |
8 | 8 |
9 set nRange 1 | 9 set nRange 1 |
10 set iFirst [lindex $map 0 0] | 10 set iFirst [lindex $map 0 0] |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 puts "** Return true if the argument corresponds to a unicode codepoint" | 219 puts "** Return true if the argument corresponds to a unicode codepoint" |
220 puts "** classified as either a letter or a number. Otherwise false." | 220 puts "** classified as either a letter or a number. Otherwise false." |
221 puts "**" | 221 puts "**" |
222 puts "** The results are undefined if the value passed to this function" | 222 puts "** The results are undefined if the value passed to this function" |
223 puts "** is less than zero." | 223 puts "** is less than zero." |
224 puts "*/" | 224 puts "*/" |
225 puts "int ${zFunc}\(int c)\{" | 225 puts "int ${zFunc}\(int c)\{" |
226 an_print_range_array $lRange | 226 an_print_range_array $lRange |
227 an_print_ascii_bitmap $lRange | 227 an_print_ascii_bitmap $lRange |
228 puts { | 228 puts { |
229 if( c<128 ){ | 229 if( (unsigned int)c<128 ){ |
230 return ( (aAscii[c >> 5] & (1 << (c & 0x001F)))==0 ); | 230 return ( (aAscii[c >> 5] & (1 << (c & 0x001F)))==0 ); |
231 }else if( c<(1<<22) ){ | 231 }else if( (unsigned int)c<(1<<22) ){ |
232 unsigned int key = (((unsigned int)c)<<10) | 0x000003FF; | 232 unsigned int key = (((unsigned int)c)<<10) | 0x000003FF; |
233 int iRes = 0; | 233 int iRes = 0; |
234 int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1; | 234 int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1; |
235 int iLo = 0; | 235 int iLo = 0; |
236 while( iHi>=iLo ){ | 236 while( iHi>=iLo ){ |
237 int iTest = (iHi + iLo) / 2; | 237 int iTest = (iHi + iLo) / 2; |
238 if( key >= aEntry[iTest] ){ | 238 if( key >= aEntry[iTest] ){ |
239 iRes = iTest; | 239 iRes = iTest; |
240 iLo = iTest+1; | 240 iLo = iTest+1; |
241 }else{ | 241 }else{ |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 print_fold_test ${function_prefix}UnicodeFold $mappings | 685 print_fold_test ${function_prefix}UnicodeFold $mappings |
686 print_test_main | 686 print_test_main |
687 } | 687 } |
688 | 688 |
689 if {$generate_fts5_code} { | 689 if {$generate_fts5_code} { |
690 # no-op | 690 # no-op |
691 } else { | 691 } else { |
692 puts "#endif /* defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4) */" | 692 puts "#endif /* defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4) */" |
693 puts "#endif /* !defined(SQLITE_DISABLE_FTS3_UNICODE) */" | 693 puts "#endif /* !defined(SQLITE_DISABLE_FTS3_UNICODE) */" |
694 } | 694 } |
OLD | NEW |