remove io.encodings.utf16n vocabulary, which was kind of single purpose.
update a bunch of vocab usings.
: 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 ;
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
! 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 ;
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
! 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 ;
M: unix-random random-bytes* ( n tuple -- byte-array )
reader>> stream-read ;
+
HINTS: M\ unix-random random-bytes* { fixnum unix-random } ;
[
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
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
:: >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 ;
! 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
! 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
! 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 ;
! 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
! 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
! 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
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 ;
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
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" }
! 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 ;
utf16
utf16le
utf16be
+ utf16n
} ;
ABOUT: "io.encodings.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
! 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
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 ? ;
+++ /dev/null
-Daniel Ehrenberg
+++ /dev/null
-UTF16 encoding with native byte order
+++ /dev/null
-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" } ;
+++ /dev/null
-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
+++ /dev/null
-! 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> ;