Tag Archives: Clarion 12 Unicode beta

Clarion Unicode preview — refreshed beta build (14204)

Clarion · Unicode Preview · Beta Refresh

Refresh build 14204 — a drop built from your reports

Nearly every item in this refresh traces back to a beta field report — exactly what the beta is for. CHOOSE() and POPUP() go wide, control pictures carry Unicode, TXA round-trips in UTF-8, INI files and the registry go wide, a full sweep of the string built-ins closed out the remaining port regressions — and there’s a Windows 11 fix every desktop app should retest. Already testing? Everything below is new since build 14175.

Language CHOOSE · POPUP · pictures · built-ins sweep IDE TXA in UTF-8 · %CWVersion 12026 Runtime INI · registry · Win11 hit-test fix

Highlights of this drop — then the full tester guide, whose “What’s new” section and dated “beta refresh” markers flag exactly what changed since you last read it.

?:

CHOOSE() takes USTRING values

A USTRING among CHOOSE’s values used to make the whole result numeric — even a plain-string alternative came back as '0'. Now string values give a string result that keeps every unit, and string-mixed-with- numeric stays numeric, exactly the STRING rules. From Carl B.’s report.

POPUP() is wide

Menu text draws its real glyphs — currency signs, CJK, emoji — and the item structure (|, {}, ~, …) is decided on the wide text itself, so a full-width in an item no longer splits the menu. All-ANSI POPUPs take exactly the old code path. Also from Carl B.’s reports.

@

Control pictures carry Unicode

A picture with symbols outside the codepage — say @n~₿~-15.2 — set on a LIST column (PROPLIST:Picture) or a pictured display STRING now formats with the real symbol and reads back intact. A wide LIST heading also survives a later reformat. (The pictured-ENTRY editor is a separate queued step.)

Runtime caption rewrites go wide

{PROP:Text} = <wide value> on the caption families — PROMPT, STRING, BUTTON, CHECK, RADIO, TAB, GROUP/OPTION/SHEET — now keeps exact units. This was on the known-limitations list; it’s off it now.

ƒ

String built-ins, swept against gold

Every string built-in was measured two-era against Clarion 12 gold, and the remaining beta regressions fixed: DEFORMAT(x) with the picture omitted, ERROR() returning unclipped padding, NUMERIC() rejecting trailing spaces, ALL('',n), wide RIGHT()/CENTER() padding — and wide-to-wide compares now clip trailing spaces like narrow always did.

TXA export/import in UTF-8

Export application text as Application text, UTF-8 — a filetype choice in every export dialog, ClarionCL /u8 /ax on the command line, or the AutoExport-on-save option. Import auto-detects UTF-8 (with or without BOM) and rejects loudly, naming the line, instead of silently mangling. Defaults stay ANSI, byte-identical. From Petar’s request.

§

INI files and the registry go wide

GETINI/PUTINI accept and return USTRING exactly — and a wide write to a missing .ini creates it UTF-16 LE with BOM. The GETREG family matches the registry’s native UTF-16 end to end: RegEdit shows your real characters, and reads them back exactly.

#

Templates can gate the Unicode era

%CWVersion is now 12026#IF(%CWVersion >= 12026) is the idiom for template and third-party code that must also generate for older builds (equality tests against 12000 break; use >=). And multi-DLL exports of procedures taking USTRING arrays now link.

A Windows 11 fix worth retesting

Menus and mouse clicks going dead when another app’s always-on-top window (Windows 11 shell “island” windows are the usual trigger) overlapped a Clarion window — fixed, from a tester’s precise analysis (thanks, Alexey). If you’ve seen a Clarion app stop responding to the mouse on Win11, retest on this build.

?

F1 help, rebuilt and current

The IDE help (ClarionHelp.chm) is rebuilt: the Unicode-era language surface — USTRING and friends, the new and changed built-ins, the INI/registry notes — is now in the F1 help itself, not only in the tester documents.

Full tester guide — mental model, conversion rules, DCT import table, screen controls, reports, blobs, SQL / SQLite / text drivers / TopSpeedW / Memory / IP, recipes, and what to focus on when testing. The guide’s “What’s new” section lists everything in this drop; changes are also flagged inline with dated “beta refresh” notes.

Open the full Unicode Tester Guide

Report tool authors — the wide generator surface has shipped (IReportGeneratorW — six methods, opt-in, zero break for existing implementors). Format detection, the EMF record set, transition paths per integration style:

EMF Page Files — Transition Note

Standalone pages (best full-width). Everything described there is implemented unless marked as a known limitation — different behavior is exactly what we want to hear about.