io.encodings.utf16: add a utf16n word for native utf16 type.
remove io.encodings.utf16n vocabulary, which was kind of single purpose. update a bunch of vocab usings.clean-linux-x86-64
parent
cad867a3e9
commit
ad24fa414f
|
@ -13,10 +13,8 @@ SYMBOL: bootstrap-time
|
|||
: strip-encodings ( -- )
|
||||
os unix? [
|
||||
[
|
||||
P" resource:core/io/encodings/utf16/utf16.factor"
|
||||
P" resource:core/io/encodings/utf16n/utf16n.factor" [ forget ] bi@
|
||||
"io.encodings.utf16"
|
||||
"io.encodings.utf16n" [ loaded-child-vocab-names [ forget-vocab ] each ] bi@
|
||||
P" resource:core/io/encodings/utf16/utf16.factor" forget
|
||||
"io.encodings.utf16" loaded-child-vocab-names [ forget-vocab ] each
|
||||
] with-compilation-unit
|
||||
] when ;
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@ USING: accessors alien.c-types alien.data alien.syntax arrays
|
|||
assocs cache colors combinators core-foundation
|
||||
core-foundation.attributed-strings core-foundation.strings
|
||||
core-graphics core-graphics.types core-text.fonts destructors
|
||||
fonts init kernel locals make math math.functions math.order
|
||||
math.vectors memoize namespaces sequences strings
|
||||
io.encodings.utf16n io.encodings.string ;
|
||||
fonts init io.encodings.string io.encodings.utf16 kernel locals
|
||||
make math math.functions math.order math.vectors memoize
|
||||
namespaces sequences strings ;
|
||||
IN: core-text
|
||||
|
||||
TYPEDEF: void* CTLineRef
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2008 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien.strings fry io.encodings.utf16n kernel
|
||||
USING: alien.strings fry io.encodings.utf16 kernel
|
||||
splitting windows windows.kernel32 windows.types system
|
||||
environment alien.data sequences windows.errors
|
||||
io.streams.memory io.encodings io specialized-arrays ;
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
USING: accessors alien alien.c-types alien.data alien.strings
|
||||
arrays assocs byte-arrays combinators combinators.short-circuit
|
||||
continuations game.input game.input.dinput.keys-array
|
||||
io.encodings.utf16n kernel locals math
|
||||
math.bitwise math.rectangles namespaces parser sequences shuffle
|
||||
specialized-arrays ui.backend.windows vectors windows.com
|
||||
windows.directx.dinput windows.directx.dinput.constants
|
||||
windows.kernel32 windows.messages windows.ole32 windows.errors
|
||||
windows.user32 classes.struct ;
|
||||
arrays assocs byte-arrays classes.struct combinators
|
||||
combinators.short-circuit game.input
|
||||
game.input.dinput.keys-array kernel locals math math.bitwise
|
||||
math.rectangles namespaces sequences specialized-arrays
|
||||
ui.backend.windows vectors windows.com windows.directx.dinput
|
||||
windows.directx.dinput.constants windows.errors windows.kernel32
|
||||
windows.messages windows.ole32 windows.user32 ;
|
||||
SPECIALIZED-ARRAY: DIDEVICEOBJECTDATA
|
||||
IN: game.input.dinput
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien alien.data arrays classes.struct
|
||||
combinators continuations destructors fry io.backend
|
||||
io.encodings.string io.encodings.utf16n io.files.windows
|
||||
io.encodings.string io.encodings.utf16 io.files.windows
|
||||
io.monitors io.pathnames io.ports kernel literals locals make
|
||||
math sequences system threads windows.errors windows.kernel32
|
||||
windows.types ;
|
||||
|
|
|
@ -14,6 +14,7 @@ M: unix-random dispose reader>> dispose ;
|
|||
|
||||
M: unix-random random-bytes* ( n tuple -- byte-array )
|
||||
reader>> stream-read ;
|
||||
|
||||
HINTS: M\ unix-random random-bytes* { fixnum unix-random } ;
|
||||
|
||||
[
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
USING: accessors alien alien.c-types alien.data alien.syntax
|
||||
arrays byte-arrays classes.struct combinators.short-circuit
|
||||
continuations destructors fry io io.encodings.string
|
||||
io.encodings.utf16n kernel literals locals math sequences
|
||||
io.encodings.utf16 kernel literals locals math sequences
|
||||
strings system tools.ps windows.errors windows.handles
|
||||
windows.kernel32 windows.ntdll windows.types ;
|
||||
IN: tools.ps.windows
|
||||
|
|
|
@ -11,7 +11,7 @@ ui.commands ui.gadgets ui.gadgets.private ui.gadgets.worlds
|
|||
ui.gestures ui.private words sorting math.vectors
|
||||
ui.baseline-alignment ui.gadgets.line-support
|
||||
ui.gadgets.editors ui.backend.cocoa.input-methods
|
||||
ui.backend.cocoa.input-methods.editors io.encodings.utf16n
|
||||
ui.backend.cocoa.input-methods.editors io.encodings.utf16
|
||||
io.encodings.string classes.struct ;
|
||||
IN: ui.backend.cocoa.views
|
||||
|
||||
|
@ -195,7 +195,7 @@ IMPORT: NSAttributedString
|
|||
|
||||
:: >codepoint-index ( str utf16-index -- codepoint-index )
|
||||
0 utf16-index 2 * str utf16n encode subseq utf16n decode length ;
|
||||
|
||||
|
||||
:: >utf16-index ( str codepoint-index -- utf16-index )
|
||||
0 codepoint-index str subseq utf16n encode length 2 / >integer ;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien alien.data alien.strings arrays ascii assocs
|
||||
calendar classes classes.struct colors combinators continuations fry
|
||||
io io.crlf io.encodings.utf16n kernel libc literals locals make math
|
||||
io io.crlf io.encodings.utf16 kernel libc literals locals make math
|
||||
math.bitwise namespaces sequences sets specialized-arrays strings
|
||||
threads ui ui.backend ui.clipboards ui.event-loop ui.gadgets
|
||||
ui.gadgets.private ui.gadgets.worlds ui.gestures ui.pixel-formats
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors cache core-graphics.types core-text
|
||||
core-text.fonts io.encodings.string io.encodings.utf16n kernel
|
||||
core-text.fonts io.encodings.string io.encodings.utf16 kernel
|
||||
locals math math.vectors namespaces sequences ui.text
|
||||
ui.text.private ;
|
||||
IN: ui.text.core-text
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2017-2018 Alexander Ilin.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien alien.data alien.libraries alien.strings
|
||||
continuations fry init io.encodings.utf16n kernel literals math
|
||||
continuations fry init io.encodings.utf16 kernel literals math
|
||||
namespaces sequences ui.backend.windows ui.gadgets.worlds
|
||||
ui.gestures windows.errors windows.messages windows.shell32
|
||||
windows.types windows.user32 ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2010 Doug Coleman.
|
||||
! Copyright (C) 2018 Alexander Ilin.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: byte-arrays io.encodings.string io.encodings.utf16n
|
||||
USING: byte-arrays io.encodings.string io.encodings.utf16
|
||||
kernel sequences tools.test windows.advapi32 windows.kernel32
|
||||
windows.registry ;
|
||||
IN: windows.registry.tests
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien.c-types alien.data byte-arrays
|
||||
classes.struct continuations io.encodings.string
|
||||
io.encodings.utf16n kernel literals locals math sequences sets
|
||||
io.encodings.utf16 kernel literals locals math sequences sets
|
||||
splitting windows windows.advapi32 windows.errors
|
||||
windows.kernel32 windows.time windows.types ;
|
||||
IN: windows.registry
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2005, 2006 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien.c-types alien.syntax classes.struct colors
|
||||
io.encodings.utf16n io.encodings.utf8 kernel math math.bitwise
|
||||
io.encodings.utf16 io.encodings.utf8 kernel math math.bitwise
|
||||
math.vectors sequences ;
|
||||
FROM: alien.c-types => float short ;
|
||||
IN: windows.types
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
USING: accessors alien.c-types alien.data arrays assocs
|
||||
byte-arrays cache classes.struct colors colors.constants
|
||||
combinators destructors fonts images init io.encodings.string
|
||||
io.encodings.utf16n kernel literals locals math math.bitwise
|
||||
io.encodings.utf16 kernel literals locals math math.bitwise
|
||||
namespaces sequences specialized-arrays windows.errors
|
||||
windows.fonts windows.gdi32 windows.offscreen windows.ole32
|
||||
windows.types windows.usp10 ;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: alien.accessors alien.c-types alien.libraries alien.strings
|
||||
alien.syntax byte-arrays cpu.x86 eval help.markup help.syntax io
|
||||
io.backend io.encodings.utf16n io.encodings.utf8 kernel math
|
||||
io.backend io.encodings.utf16 io.encodings.utf8 kernel math
|
||||
quotations sequences system ;
|
||||
IN: alien
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
USING: alien.strings alien.c-types alien.data tools.test
|
||||
kernel libc io.encodings.utf8 io.encodings.utf16 io.encodings.utf16n
|
||||
kernel libc io.encodings.utf8 io.encodings.utf16
|
||||
io.encodings.ascii alien io.encodings.string io.encodings.latin1 ;
|
||||
|
||||
{ "\u0000ff" }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2008, 2011 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien arrays byte-arrays byte-vectors init io
|
||||
io.encodings io.encodings.ascii io.encodings.utf16n
|
||||
io.encodings io.encodings.ascii io.encodings.utf16
|
||||
io.encodings.utf8 io.streams.memory kernel kernel.private math
|
||||
namespaces sequences sequences.private strings strings.private
|
||||
system system.private ;
|
||||
|
|
|
@ -9,6 +9,7 @@ ARTICLE: "io.encodings.utf16" "UTF-16 encoding"
|
|||
utf16
|
||||
utf16le
|
||||
utf16be
|
||||
utf16n
|
||||
} ;
|
||||
|
||||
ABOUT: "io.encodings.utf16"
|
||||
|
@ -25,4 +26,8 @@ HELP: utf16
|
|||
{ $class-description "The encoding descriptor for UTF-16, that is, UTF-16 with a byte order mark. This is the most useful for general input and output in UTF-16. Streams can be made which read or write wth this encoding." }
|
||||
{ $see-also "encodings-introduction" } ;
|
||||
|
||||
{ utf16 utf16le utf16be } related-words
|
||||
HELP: utf16n
|
||||
{ $description "The encoding descriptor for UTF-16 without a byte order mark in native endian order. This is useful mostly for FFI calls which take input of strings of the type " { $snippet "wchar_t*" } "." }
|
||||
{ $see-also "encodings-introduction" } ;
|
||||
|
||||
{ utf16 utf16le utf16be utf16n } related-words
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
! Copyright (C) 2006, 2009 Daniel Ehrenberg.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors byte-arrays combinators io io.binary
|
||||
io.encodings kernel math math.private namespaces sbufs
|
||||
sequences sequences.private splitting strings strings.private
|
||||
vectors ;
|
||||
USING: accessors alien.accessors byte-arrays io io.binary
|
||||
io.encodings kernel math math.private sequences
|
||||
sequences.private strings strings.private ;
|
||||
IN: io.encodings.utf16
|
||||
|
||||
SINGLETON: utf16be
|
||||
|
@ -161,4 +160,8 @@ M: utf16 <decoder> ( stream utf16 -- decoder )
|
|||
M: utf16 <encoder> ( stream utf16 -- encoder )
|
||||
drop bom-le over stream-write utf16le <encoder> ;
|
||||
|
||||
: le? ( -- ? ) B{ 1 0 0 0 } 0 alien-unsigned-4 1 = ; foldable
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: utf16n ( -- value ) le? utf16le utf16be ? ;
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Daniel Ehrenberg
|
|
@ -1 +0,0 @@
|
|||
UTF16 encoding with native byte order
|
|
@ -1,6 +0,0 @@
|
|||
USING: help.markup help.syntax ;
|
||||
IN: io.encodings.utf16n
|
||||
|
||||
HELP: utf16n
|
||||
{ $class-description "The encoding descriptor for UTF-16 without a byte order mark in native endian order. This is useful mostly for FFI calls which take input of strings of the type wchar_t*" }
|
||||
{ $see-also "encodings-introduction" } ;
|
|
@ -1,9 +0,0 @@
|
|||
USING: accessors alien.data io.encodings.utf16
|
||||
io.encodings.utf16n io.streams.byte-array kernel tools.test ;
|
||||
IN: io.encodings.utf16n.tests
|
||||
|
||||
: correct-endian ( obj -- ? )
|
||||
code>> little-endian? [ utf16le = ] [ utf16be = ] if ;
|
||||
|
||||
{ t } [ B{ } utf16n <byte-reader> correct-endian ] unit-test
|
||||
{ t } [ utf16n <byte-writer> correct-endian ] unit-test
|
|
@ -1,15 +0,0 @@
|
|||
! Copyright (C) 2008 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: io.encodings io.encodings.utf16 kernel alien.accessors ;
|
||||
IN: io.encodings.utf16n
|
||||
|
||||
! Native-order UTF-16
|
||||
|
||||
SINGLETON: utf16n
|
||||
|
||||
: choose-utf16-endian ( -- descriptor )
|
||||
B{ 1 0 0 0 } 0 alien-unsigned-4 1 = utf16le utf16be ? ; foldable
|
||||
|
||||
M: utf16n <decoder> drop choose-utf16-endian <decoder> ;
|
||||
|
||||
M: utf16n <encoder> drop choose-utf16-endian <encoder> ;
|
Loading…
Reference in New Issue