{"id":1993,"date":"2026-08-18T19:28:30","date_gmt":"2026-08-18T19:28:30","guid":{"rendered":"https:\/\/clarionsharp.com\/blog\/?p=1993"},"modified":"2026-08-18T19:28:32","modified_gmt":"2026-08-18T19:28:32","slug":"clarion-unicode-preview-refreshed-beta-build-14175","status":"publish","type":"post","link":"https:\/\/clarionsharp.com\/blog\/clarion-unicode-preview-refreshed-beta-build-14175\/","title":{"rendered":"Clarion Unicode preview \u2014 refreshed beta build (14175)"},"content":{"rendered":"\n<style>\n.ustring-wp2 { --u-fg:#1c1917; --u-muted:#6b6560; --u-line:#e2dcd3; --u-card:#fff; --u-soft:#fef3c7; --u-accent:#b45309; --u-bg:#f7f5f1; --u-link:#0b5cad; font-family:system-ui,-apple-system,\"Segoe UI\",sans-serif; color:var(--u-fg); line-height:1.55; max-width:1080px; margin:0 auto; }\n@media (prefers-color-scheme: dark) {\n  .ustring-wp2 { --u-fg:#f5f5f4; --u-muted:#a8a29e; --u-line:#3f3a36; --u-card:#1c1917; --u-soft:#422006; --u-accent:#fbbf24; --u-bg:#121110; --u-link:#7dd3fc; }\n}\n.ustring-wp2 * { box-sizing:border-box; }\n.ustring-wp2 .uw-hero { background:linear-gradient(135deg,#0c2f24 0%,#14432f 45%,#431407 100%); color:#fafaf9; border-radius:14px; padding:1.75rem 1.5rem 1.5rem; margin:0 0 1.25rem; }\n.ustring-wp2 .uw-eyebrow { display:inline-block; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#fbbf24; font-weight:700; margin-bottom:.55rem; }\n.ustring-wp2 .uw-hero h2 { margin:0 0 .65rem; font-size:clamp(1.45rem,3.5vw,2rem); line-height:1.2; letter-spacing:-.02em; color:#fafaf9; }\n.ustring-wp2 .uw-hero p { margin:0; color:#e7e5e4; font-size:1.05rem; max-width:42rem; }\n.ustring-wp2 .uw-pills { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem; }\n.ustring-wp2 .uw-pill { display:inline-block; padding:.3rem .7rem; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fafaf9; font-size:.82rem; }\n.ustring-wp2 .uw-pill strong { color:#fde68a; font-weight:650; }\n.ustring-wp2 .uw-lead { color:var(--u-muted); margin:0 0 1.1rem; font-size:1rem; }\n.ustring-wp2 .uw-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.85rem; margin:0 0 1.5rem; }\n.ustring-wp2 .uw-card { background:var(--u-card); border:1px solid var(--u-line); border-radius:14px; padding:1rem 1.05rem 1.1rem; }\n.ustring-wp2 .uw-icon { width:2rem; height:2rem; border-radius:10px; display:grid; place-items:center; background:var(--u-soft); color:var(--u-accent); font-weight:700; margin-bottom:.55rem; font-size:1rem; }\n.ustring-wp2 .uw-card h3 { margin:0 0 .35rem; font-size:1rem; letter-spacing:-.01em; color:var(--u-fg); }\n.ustring-wp2 .uw-card p { margin:0; color:var(--u-muted); font-size:.92rem; line-height:1.5; }\n.ustring-wp2 code { font-family:Consolas,\"Cascadia Mono\",ui-monospace,monospace; font-size:.88em; background:var(--u-bg); border:1px solid var(--u-line); border-radius:5px; padding:.05em .3em; color:var(--u-fg); }\n.ustring-wp2 .uw-cta { background:var(--u-card); border:1px solid var(--u-line); border-left:4px solid var(--u-accent); border-radius:12px; padding:1rem 1.15rem; }\n.ustring-wp2 .uw-cta p { margin:0 0 .65rem; color:var(--u-muted); }\n.ustring-wp2 .uw-cta p:last-child { margin:0; }\n.ustring-wp2 .uw-btn { display:inline; background:none; color:var(--u-link) !important; text-decoration:underline !important; font-weight:650; padding:0; border-radius:0; margin-top:.15rem; }\n.ustring-wp2 .uw-btn:hover { color:var(--u-accent) !important; text-decoration:underline !important; }\n.ustring-wp2 .uw-note { font-size:.88rem; color:var(--u-muted); margin-top:.75rem; }\n<\/style>\n\n<div class=\"ustring-wp2\">\n  <div class=\"uw-hero\">\n    <div class=\"uw-eyebrow\">Clarion \u00b7 Unicode Preview \u00b7 Beta Refresh<\/div>\n    <h2>Another refresh \u2014 the window itself goes wide<\/h2>\n    <p>\n      This drop pushes Unicode out into the window chrome \u2014 titles, menus, the\n      status bar \u2014 carries wide columns into LIST and the TopScan browser,\n      widens the client\/server IP driver, and folds in a batch of fixes straight\n      from your reports. Already testing? Everything below is new since the last build.\n    <\/p>\n    <div class=\"uw-pills\">\n      <span class=\"uw-pill\"><strong>UI<\/strong> window chrome \u00b7 menus \u00b7 status \u00b7 LIST cells<\/span>\n      <span class=\"uw-pill\"><strong>Drivers<\/strong> IP goes wide<\/span>\n      <span class=\"uw-pill\"><strong>IDE<\/strong> Solution Explorer reload<\/span>\n    <\/div>\n  <\/div>\n\n  <p class=\"uw-lead\">\n    Highlights of this drop \u2014 then the full tester guide, whose dated\n    <em>\u201cbeta refresh\u201d<\/em> markers flag exactly what changed since you last read it.\n  <\/p>\n\n  <div class=\"uw-grid\">\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">\u25ad<\/div>\n      <h3>Window chrome goes wide<\/h3>\n      <p>\n        Window, frame and MDI-child <strong>titles<\/strong>, <strong>menu<\/strong>\n        item text, and runtime writes to the <strong>status bar<\/strong>, message\n        zone and tips now carry exact UTF-16 \u2014 set them in the designer or at\n        runtime with <code>{PROP:Text}<\/code>. Narrow apps are byte-for-byte\n        unchanged.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">\u2263<\/div>\n      <h3>Wide LIST columns \u2014 and TopScan<\/h3>\n      <p>\n        The last narrow LIST surfaces went wide: split columns (one queue field\n        fanned across cells with <code>|<\/code>) and column headings now draw\n        real glyphs, not best-fit. TopScan&#8217;s browser rides the same change \u2014 its\n        cells show \u03a9, \u00e9, \u4e2d with no changes on your side.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">\u21d4<\/div>\n      <h3>Controls widen at runtime<\/h3>\n      <p>\n        Bind an <code>ENTRY<\/code> or <code>TEXT<\/code> to a USTRING at runtime\n        with <code>{PROP:Use}<\/code> and the control now switches to the wide\n        class on the spot (and back again for a STRING) \u2014 no longer only when the\n        USE was declared wide at compile time.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">\u27f3<\/div>\n      <h3>Solution Explorer keeps up<\/h3>\n      <p>\n        Edit a project outside the IDE \u2014 hand-edit the <code>.cwproj<\/code>,\n        AppGen, source control, code-generation tooling \u2014 and the tree now offers\n        to reload so it reflects reality. A manual <strong>Reload Solution<\/strong>\n        command too, and a guard against silently overwriting an external edit on\n        save. From a tester request \u2014 thanks, Mark S.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">\u21c4<\/div>\n      <h3>The IP driver goes wide<\/h3>\n      <p>\n        USTRING fields and UNICODE memo\/blob travel end to end through the\n        client\/server IP database stack \u2014 client, requester and data server \u2014\n        round-tripping bit-identically at rest. Keys inherit the backing driver&#8217;s\n        order for free.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">\u2399<\/div>\n      <h3>Two report fixes from the field<\/h3>\n      <p>\n        A saved <code>REPORT,\u2026,UNICODE<\/code> now reopens in the designer without\n        the &ldquo;Unexpected attribute&rdquo; error, and two reports previewed at\n        once no longer collide over page files (which could overwrite or drop one\n        report&#8217;s pages). Both straight from beta reports.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">&#x263a;<\/div>\n      <h3>UCHR() and hex code points<\/h3>\n      <p>\n        New <code>UCHR(code)<\/code> is the one-argument form of\n        <code>CHR(code,1)<\/code>, and <code>U'&lt;\u2026&gt;'<\/code> constants now take\n        hex (<code>U'&lt;1F4A9h&gt;'<\/code> = one emoji) and full code points that\n        emit the surrogate pair for you. Out-of-range is a loud error, never a\n        silent truncation. From Carl B.&#8217;s post.\n      <\/p>\n    <\/article>\n\n    <article class=\"uw-card\">\n      <div class=\"uw-icon\">&#x2699;<\/div>\n      <h3>A compiler crash, fixed<\/h3>\n      <p>\n        An Internal Compiler Error that appeared and vanished with unrelated\n        source edits \u2014 triggered by an identifier ending in a colon (e.g. from\n        <code>PRE(CS:)<\/code>) landing at a pool boundary \u2014 is fixed. Reported\n        against an earlier build; the fix rides this one.\n      <\/p>\n    <\/article>\n  <\/div>\n\n  <div class=\"uw-cta\">\n    <p>\n      <strong style=\"color:var(--u-fg)\">Full tester guide<\/strong> \u2014\n      mental model, conversion rules, DCT import table, screen controls, reports, blobs,\n      SQL \/ SQLite \/ text drivers \/ TopSpeedW \/ Memory, recipes, and what to focus on when\n      testing. Changes since the last build are flagged inline with dated\n      <em>\u201cbeta refresh\u201d<\/em> notes.\n    <\/p>\n    <!-- >>> confirm these URLs match the deployed static docs <<< -->\n    <a class=\"uw-btn\" href=\"https:\/\/softvelocity.com\/docs\/Clarion-Unicode-Tester-Guide.html\" target=\"_blank\" rel=\"noopener\">Open the full Unicode Tester Guide<\/a>\n    <p style=\"margin:.85rem 0 .35rem; color:var(--u-muted)\">\n      <strong style=\"color:var(--u-fg)\">Report tool authors<\/strong> \u2014\n      the wide generator surface has <strong>shipped<\/strong>\n      (<code>IReportGeneratorW<\/code> \u2014 six methods, opt-in, zero break for\n      existing implementors). Format detection, the EMF record set, transition\n      paths per integration style:\n    <\/p>\n    <a class=\"uw-btn\" href=\"https:\/\/softvelocity.com\/docs\/Clarion-Unicode-EMF-Transition-Note.html\" target=\"_blank\" rel=\"noopener\">EMF Page Files \u2014 Transition Note<\/a>\n    <p class=\"uw-note\">\n      Standalone pages (best full-width). Everything described there is implemented unless marked as a known limitation \u2014\n      different behavior is exactly what we want to hear about.\n    <\/p>\n  <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Clarion \u00b7 Unicode Preview \u00b7 Beta Refresh Another refresh \u2014 the window itself goes wide This drop pushes Unicode out into the window chrome \u2014 titles, menus, the status bar \u2014 carries wide columns into LIST and the TopScan browser, widens the client\/server IP driver, and folds in a batch of fixes straight from your &hellip; <a href=\"https:\/\/clarionsharp.com\/blog\/clarion-unicode-preview-refreshed-beta-build-14175\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Clarion Unicode preview \u2014 refreshed beta build (14175)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1993","post","type-post","status-publish","format-standard","hentry","category-clarionnews"],"_links":{"self":[{"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/posts\/1993","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/comments?post=1993"}],"version-history":[{"count":2,"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/posts\/1993\/revisions"}],"predecessor-version":[{"id":1995,"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/posts\/1993\/revisions\/1995"}],"wp:attachment":[{"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/media?parent=1993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/categories?post=1993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clarionsharp.com\/blog\/wp-json\/wp\/v2\/tags?post=1993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}