version 1.27, 2007/06/30 23:00:14
|
version 1.28, 2007/07/14 19:57:16
|
Line 115 Defer check-xy ' noop IS check-xy
|
Line 115 Defer check-xy ' noop IS check-xy
|
>r u8!+ r> r> swap - true |
>r u8!+ r> r> swap - true |
then ; |
then ; |
|
|
: u8addrlen ( u8-addr -- u ) |
: u8addrlen ( u8-addr u -- u ) drop |
\ length of UTF-8 char starting at u8-addr (accesses only u8-addr) |
\ length of UTF-8 char starting at u8-addr (accesses only u8-addr) |
c@ |
c@ |
dup $80 u< if drop 1 exit endif |
dup $80 u< if drop 1 exit endif |
Line 129 Defer check-xy ' noop IS check-xy
|
Line 129 Defer check-xy ' noop IS check-xy
|
|
|
: -u8trailing-garbage ( addr u1 -- addr u2 ) |
: -u8trailing-garbage ( addr u1 -- addr u2 ) |
2dup + dup u8<< ( addr u1 end1 end2 ) |
2dup + dup u8<< ( addr u1 end1 end2 ) |
2dup dup u8addrlen + = if \ last character ok |
2dup dup over over - u8addrlen + = if \ last character ok |
2drop |
2drop |
else |
else |
nip nip over - |
nip nip over - |
Line 307 here wc-table - Constant #wc-table
|
Line 307 here wc-table - Constant #wc-table
|
[ [IFDEF] x-width ] |
[ [IFDEF] x-width ] |
['] u8width is x-width |
['] u8width is x-width |
[ [THEN] ] |
[ [THEN] ] |
|
[ [IFDEF] x-size ] |
|
['] u8addrlen is x-size |
|
[ [THEN] ] |
['] -u8trailing-garbage is -trailing-garbage |
['] -u8trailing-garbage is -trailing-garbage |
; |
; |
|
|