2012-11-16 17:44 UTC+0100 Viktor Szakats (harbour syenar.net)
* tests/uc16_gen.prg
! restored
This commit is contained in:
@@ -16,6 +16,10 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-11-16 17:44 UTC+0100 Viktor Szakats (harbour syenar.net)
|
||||
* tests/uc16_gen.prg
|
||||
! restored
|
||||
|
||||
2012-11-16 17:42 UTC+0100 Viktor Szakats (harbour syenar.net)
|
||||
* extras/hbvpdf/hbvpdf.hbx
|
||||
! correction
|
||||
|
||||
@@ -37,25 +37,25 @@ proc main()
|
||||
local nWarning := 2
|
||||
local lConvAll := .f.
|
||||
|
||||
aLower := AFill( array( 0x10000 ), 0 )
|
||||
aUpper := AFill( array( 0x10000 ), 0 )
|
||||
aFlags := AFill( array( 0x10000 ), 0 )
|
||||
aLower := afill( array( 0x10000 ), 0 )
|
||||
aUpper := afill( array( 0x10000 ), 0 )
|
||||
aFlags := afill( array( 0x10000 ), 0 )
|
||||
nMaxCh := nMaxUp := nMaxLo := 0x0000
|
||||
nMinCh := nMinUp := nMinLo := 0xFFFF
|
||||
nUppers := nLowers := 0
|
||||
|
||||
for each cLine in hb_ATokens( hb_memoRead( "UnicodeData.txt" ), hb_eol() )
|
||||
if ! Empty( cLine )
|
||||
aLine := hb_ATokens( cLine, ";" )
|
||||
if Len( aLine ) == 15
|
||||
nCode := hb_HexToNum( aLine[ 1 ] )
|
||||
for each cLine in hb_aTokens( hb_memoRead( "UnicodeData.txt" ), hb_eol() )
|
||||
if ! empty( cLine )
|
||||
aLine := hb_aTokens( cLine, ";" )
|
||||
if len( aLine ) == 15
|
||||
nCode := hb_hexToNum( aLine[ 1 ] )
|
||||
if nCode > 0 .and. nCode < 0xFFFF
|
||||
nUpper := hb_HexToNum( aLine[ 13 ] )
|
||||
nLower := hb_HexToNum( aLine[ 14 ] )
|
||||
nUpper := hb_hexToNum( aLine[ 13 ] )
|
||||
nLower := hb_hexToNum( aLine[ 14 ] )
|
||||
nFlags := 0
|
||||
cGenCat := aLine[ 3 ]
|
||||
if "Lu" $ cGenCat
|
||||
nFlags := hb_bitOr( nFlags, HB_CDP_ALPHA, HB_CDP_UPPER )
|
||||
nFlags := hb_bitOR( nFlags, HB_CDP_ALPHA, HB_CDP_UPPER )
|
||||
if "Lt" $ cGenCat
|
||||
? "title + upper, line:", cLine:__enumIndex()
|
||||
endif
|
||||
@@ -70,7 +70,7 @@ proc main()
|
||||
if "Lt" $ cGenCat
|
||||
? "title + lower, line:", cLine:__enumIndex()
|
||||
endif
|
||||
nFlags := hb_bitOr( nFlags, HB_CDP_ALPHA, HB_CDP_LOWER )
|
||||
nFlags := hb_bitOR( nFlags, HB_CDP_ALPHA, HB_CDP_LOWER )
|
||||
elseif nUpper != 0
|
||||
if "Lt" $ cGenCat .or. ! lConvAll
|
||||
nUpper := 0
|
||||
@@ -78,8 +78,8 @@ proc main()
|
||||
? "upper for non lower, line:", cLine:__enumIndex()
|
||||
endif
|
||||
endif
|
||||
if nCode >= Asc( "0" ) .and. nCode <= Asc( "9" )
|
||||
nFlags := hb_bitOr( nFlags, HB_CDP_DIGIT )
|
||||
if nCode >= asc( "0" ) .and. nCode <= asc( "9" )
|
||||
nFlags := hb_bitOR( nFlags, HB_CDP_DIGIT )
|
||||
endif
|
||||
if nUpper >= 0xFFFF
|
||||
? "Lower out of range, line:", cLine:__enumIndex()
|
||||
@@ -131,7 +131,7 @@ proc main()
|
||||
? "TOUPPER tables."
|
||||
? "raw size:", hb_ntos( ( nMaxUp - nMinUp + 1 ) * 2 )
|
||||
#ifndef DO_START_OPT
|
||||
nMinUp := Min( nMinUp, 48 ) // optimal
|
||||
nMinUp := min( nMinUp, 48 ) // optimal
|
||||
#endif
|
||||
n := min_size16( aUpper, @nMinUp, nMaxUp, @nBitUp )
|
||||
? "minimal size:", hb_ntos( n ), ;
|
||||
@@ -144,7 +144,7 @@ proc main()
|
||||
? "TOLOWER tables."
|
||||
? "raw size:", hb_ntos( ( nMaxLo - nMinLo + 1 ) * 2 )
|
||||
#ifndef DO_START_OPT
|
||||
nMinLo := Min( nMinLo, 32 ) // optimal
|
||||
nMinLo := min( nMinLo, 32 ) // optimal
|
||||
#endif
|
||||
n := min_size16( aLower, @nMinLo, nMaxLo, @nBitLo )
|
||||
? "minimal size:", hb_ntos( n ), ;
|
||||
@@ -156,7 +156,7 @@ proc main()
|
||||
? "ATTR tables."
|
||||
? "raw size:", hb_ntos( int( ( nMaxCh - nMinCh + 2 ) / 2 ) )
|
||||
#ifndef DO_START_OPT
|
||||
nMinCh := Min( nMinCh, 0 ) // optimal
|
||||
nMinCh := min( nMinCh, 0 ) // optimal
|
||||
#endif
|
||||
n := min_size04( aFlags, @nMinCh, nMaxCh, @nBitCh )
|
||||
? "minimal size:", hb_ntos( n ), ;
|
||||
@@ -186,8 +186,8 @@ proc main()
|
||||
|
||||
|
||||
cResult += hb_eol()
|
||||
cResult += "#define HB_UCUP_FIRST 0x" + hb_NumToHex( nMinUp, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCUP_LAST 0x" + hb_NumToHex( nMaxUp, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCUP_FIRST 0x" + hb_numToHex( nMinUp, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCUP_LAST 0x" + hb_numToHex( nMaxUp, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCUP_BITS " + hb_ntos( nBitUp ) + hb_eol()
|
||||
cResult += hb_eol()
|
||||
|
||||
@@ -204,8 +204,8 @@ proc main()
|
||||
|
||||
|
||||
cResult += hb_eol()
|
||||
cResult += "#define HB_UCLO_FIRST 0x" + hb_NumToHex( nMinLo, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCLO_LAST 0x" + hb_NumToHex( nMaxLo, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCLO_FIRST 0x" + hb_numToHex( nMinLo, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCLO_LAST 0x" + hb_numToHex( nMaxLo, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCLO_BITS " + hb_ntos( nBitLo ) + hb_eol()
|
||||
cResult += hb_eol()
|
||||
|
||||
@@ -222,8 +222,8 @@ proc main()
|
||||
|
||||
|
||||
cResult += hb_eol()
|
||||
cResult += "#define HB_UCFL_FIRST 0x" + hb_NumToHex( nMinCh, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCFL_LAST 0x" + hb_NumToHex( nMaxCh, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCFL_FIRST 0x" + hb_numToHex( nMinCh, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCFL_LAST 0x" + hb_numToHex( nMaxCh, 4 ) + hb_eol()
|
||||
cResult += "#define HB_UCFL_BITS " + hb_ntos( nBitCh ) + hb_eol()
|
||||
cResult += hb_eol()
|
||||
|
||||
@@ -239,7 +239,7 @@ proc main()
|
||||
"HB_UCFL_FIRST", "HB_UCFL_LAST", "HB_UCFL_BITS" )
|
||||
|
||||
|
||||
hb_MemoWrit( "uc16def.c", cResult )
|
||||
hb_memowrit( "uc16def.c", cResult )
|
||||
return
|
||||
|
||||
static function array_to_code( aVal, cName, nn )
|
||||
@@ -247,10 +247,10 @@ static function array_to_code( aVal, cName, nn )
|
||||
|
||||
cResult := "static const " + ;
|
||||
iif( nn == 1, "HB_BYTE", "HB_USHORT" ) + " " + ;
|
||||
cName + "[ " + hb_ntos( Len( aVal ) ) + " ] =" + hb_eol()
|
||||
cName + "[ " + hb_ntos( len( aVal ) ) + " ] =" + hb_eol()
|
||||
cResult += "{" + hb_eol()
|
||||
l := 0
|
||||
for n := 1 to Len( aVal )
|
||||
for n := 1 to len( aVal )
|
||||
if ++l > iif( nn == 1, 12, 8 )
|
||||
l := 1
|
||||
cResult += ","
|
||||
@@ -262,7 +262,7 @@ static function array_to_code( aVal, cName, nn )
|
||||
cResult += ", "
|
||||
endif
|
||||
cResult += "0x"
|
||||
cResult += hb_NumToHex( aVal[ n ], nn * 2 )
|
||||
cResult += hb_numToHex( aVal[ n ], nn * 2 )
|
||||
next
|
||||
cResult += hb_eol()
|
||||
cResult += "};" + hb_eol()
|
||||
@@ -271,8 +271,8 @@ return cResult;
|
||||
static function hash_to_array16( hVal )
|
||||
local aVal := {}, cLine, n
|
||||
for each cLine in hVal
|
||||
for n := 1 to Len( cLine ) step( 2 )
|
||||
AAdd( aVal, Bin2W( substr( cLine, n, 2 ) ) )
|
||||
for n := 1 to len( cLine ) step( 2 )
|
||||
aadd( aVal, bin2w( substr( cLine, n, 2 ) ) )
|
||||
next
|
||||
next
|
||||
return aVal
|
||||
@@ -281,7 +281,7 @@ static function hash_to_array04( hVal )
|
||||
local aVal := {}, cLine, c
|
||||
for each cLine in hVal
|
||||
for each c in cLine
|
||||
AAdd( aVal, Asc( c ) )
|
||||
aadd( aVal, asc( c ) )
|
||||
next
|
||||
next
|
||||
return aVal
|
||||
@@ -296,7 +296,7 @@ static function index_func16( cName, cNameInd, cNameConv, cMin, cMax, cBit )
|
||||
" {" + hb_eol() + ;
|
||||
" return " + cNameConv + "[ ( " + cNameInd + ;
|
||||
"[ n >> " + cBit + " ] << " + cBit + " ) +" + hb_eol() + ;
|
||||
Space( Len( cNameConv ) + 15 ) + ;
|
||||
space( len( cNameConv ) + 15 ) + ;
|
||||
"( n & ( ( 1 << " + cBit + " ) - 1 ) ) ];" + hb_eol() + ;
|
||||
" }" + hb_eol() + ;
|
||||
" return 0;" + hb_eol() + ;
|
||||
@@ -315,7 +315,7 @@ static function index_func04( cName, cNameInd, cNameConv, cMin, cMax, cBit )
|
||||
" HB_BYTE v;" + hb_eol() + ;
|
||||
" v = " + cNameConv + "[ ( " + cNameInd + ;
|
||||
"[ n >> " + cBit + " ] << ( " + cBit + " - 1 ) ) +" + hb_eol() + ;
|
||||
Space( Len( cNameConv ) + 12 ) + ;
|
||||
space( len( cNameConv ) + 12 ) + ;
|
||||
"( ( n & ( ( 1 << " + cBit + " ) - 1 ) ) >> 1 ) ];" + hb_eol() + ;
|
||||
" return n & 1 ? v >> 4 : v & 0x0F;" + hb_eol() + ;
|
||||
" }" + hb_eol() + ;
|
||||
@@ -353,12 +353,12 @@ function calc_size16( aVal, nMin, nMax, nBit, hVal, aInd, nn )
|
||||
cLine := ""
|
||||
hVal := {=>}
|
||||
aInd := {}
|
||||
hb_HKeepOrder( hVal, .t. )
|
||||
hb_hKeepOrder( hVal, .t. )
|
||||
for n := nMin to nMax
|
||||
cLine += I2Bin( iif( n == 0, 0, aVal[ n ] ) )
|
||||
if Len( cLine ) == nLine
|
||||
cLine += i2bin( iif( n == 0, 0, aVal[ n ] ) )
|
||||
if len( cLine ) == nLine
|
||||
hVal[ cLine ] := cLine
|
||||
AAdd( aInd, hb_HPos( hVal, cLine ) - 1 )
|
||||
aadd( aInd, hb_hpos( hVal, cLine ) - 1 )
|
||||
cLine := ""
|
||||
endif
|
||||
next
|
||||
@@ -370,12 +370,12 @@ function calc_size16( aVal, nMin, nMax, nBit, hVal, aInd, nn )
|
||||
endif
|
||||
next
|
||||
hVal[ cLine ] := cLine
|
||||
AAdd( aInd, hb_HPos( hVal, cLine ) - 1 )
|
||||
aadd( aInd, hb_hpos( hVal, cLine ) - 1 )
|
||||
endif
|
||||
nn := iif( Len( aInd ) > 256, 2, 1 )
|
||||
n := Len( aInd ) * nn
|
||||
nn := iif( len( aInd ) > 256, 2, 1 )
|
||||
n := len( aInd ) * nn
|
||||
for each c in hVal
|
||||
n += Len( c )
|
||||
n += len( c )
|
||||
next
|
||||
|
||||
return n
|
||||
@@ -409,12 +409,12 @@ function calc_size04( aVal, nMin, nMax, nBit, hVal, aInd, nn )
|
||||
cLine := ""
|
||||
hVal := {=>}
|
||||
aInd := {}
|
||||
hb_HKeepOrder( hVal, .t. )
|
||||
hb_hKeepOrder( hVal, .t. )
|
||||
for n := nMin to nMax step 2
|
||||
cLine += Chr( iif( n == 0, 0, aVal[ n ] ) + aVal[ n + 1 ] * 16 )
|
||||
if Len( cLine ) == nLine
|
||||
cLine += chr( iif( n == 0, 0, aVal[ n ] ) + aVal[ n + 1 ] * 16 )
|
||||
if len( cLine ) == nLine
|
||||
hVal[ cLine ] := cLine
|
||||
AAdd( aInd, hb_HPos( hVal, cLine ) - 1 )
|
||||
aadd( aInd, hb_hpos( hVal, cLine ) - 1 )
|
||||
cLine := ""
|
||||
endif
|
||||
next
|
||||
@@ -426,12 +426,12 @@ function calc_size04( aVal, nMin, nMax, nBit, hVal, aInd, nn )
|
||||
endif
|
||||
next
|
||||
hVal[ cLine ] := cLine
|
||||
AAdd( aInd, hb_HPos( hVal, cLine ) - 1 )
|
||||
aadd( aInd, hb_hpos( hVal, cLine ) - 1 )
|
||||
endif
|
||||
nn := iif( Len( aInd ) > 256, 2, 1 )
|
||||
n := Len( aInd ) * nn
|
||||
nn := iif( len( aInd ) > 256, 2, 1 )
|
||||
n := len( aInd ) * nn
|
||||
for each c in hVal
|
||||
n += Len( c )
|
||||
n += len( c )
|
||||
next
|
||||
|
||||
return n
|
||||
@@ -447,10 +447,10 @@ return 0
|
||||
|
||||
static function check_conv16( aConv, aInd, aVal, nMin, nMax, nBit )
|
||||
local n, nVal
|
||||
for n := 1 to Len( aConv )
|
||||
for n := 1 to len( aConv )
|
||||
nVal := conv_get16( n, aInd, aVal, nMin, nMax, nBit )
|
||||
if aConv[ n ] != nVal
|
||||
? "Wrong decoding:", n, aConv[ n ], nVal, Len( aConv ), nMax //, hb_eol()
|
||||
? "Wrong decoding:", n, aConv[ n ], nVal, len( aConv ), nMax //, hb_eol()
|
||||
break
|
||||
// exit
|
||||
endif
|
||||
@@ -479,10 +479,10 @@ return 0
|
||||
|
||||
static function check_conv04( aConv, aInd, aVal, nMin, nMax, nBit )
|
||||
local n, nVal
|
||||
for n := 1 to Len( aConv )
|
||||
for n := 1 to len( aConv )
|
||||
nVal := conv_get04( n, aInd, aVal, nMin, nMax, nBit )
|
||||
if aConv[ n ] != nVal
|
||||
? "Wrong decoding:", n, aConv[ n ], nVal, Len( aConv ), nMax //, hb_eol()
|
||||
? "Wrong decoding:", n, aConv[ n ], nVal, len( aConv ), nMax //, hb_eol()
|
||||
// break
|
||||
// exit
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user