Does Rebol 3 R3-GUI field support non-ascii string input?

324 Views Asked by At

The sometext field just accepts ASCII characters as input now:

REBOL [
    title: "test"
]

load-gui

view [
   sometext: field
]
2

There are 2 best solutions below

0
On

You can create a new field type with a chinese font like this which will now display the characters.

stylize [
        ch-field: field [
                about: "Chinese font field"
                draw-text: [
                   pen off
                   fill-pen 0.0.0
                   anti-alias off
                   text 0x0 none aliased [font make object! [
                           name: "SimSun"
                           style: 'bold
                           size: 20
                           color: 0.0.0
                           offset: 0x0
                           space: 0x0
                           shadow: none
                       ] para make object! [
                           origin: 0x0
                           margin: 0x0
                           indent: 0x0
                           tabs: 40
                           wrap?: false
                           scroll: 0x0
                           align: 'left
                           valign: 'top
                       ] anti-alias off
                       caret make object! [
                           caret: [[""] ""]
                           highlight-start: [[""] ""]
                           highlight-end: [[""] ""]
                       ] ""
                   ]
               ]
        ]
]

view [
    ch-field "這是一份非常間單的說明書…"
]

Due to an issue with the clipboard you can't paste chinese text into the field. Hopefully this will be fixed soon.

0
On
REBOL [
    title: "chinese font rendering test (Windows)"
    author: "Richard Smolak"
]
load-gui
print ""
fnt: make system/standard/font [
    name: "Tahoma"
    size: 64
]

ch-fnt: make system/standard/font [
    name: "SimSun"
    size: 64
]

par: make system/standard/para [wrap?: off]

win-size: 840x300

append append
win: make gob! [size: win-size]
make gob! [size: win-size color: sky]
tg: make gob! [size: win-size]

tg/text: to-text compose [
    anti-alias on
    para par
    font fnt
    "Příliš žluťoučký kůň"
    newline
    font ch-fnt
    "这是一份非常间单的说明书…"
    newline
    "這是一份非常間單的說明書…"
] copy []


view/options win [
    title: "Basic TEXT test"
    offset: 'center
]

is an example from one of the r3Gui authors of rendering other languages.