Clarion Unicode blog post v2

The new blog post is an update and links to the ‘Ustring testers guide’ with some more detailed Unicode explainers, and details on new work including the new
TopspeedW driver with 512G max file size.

the post also links to a new doc

and while it does have a lot of details for report tool authors there is also useful data for every Clarion dev

EMF Page Files — Transition Note for Report Tool Authors
Tech brief for developers who ship report-related products for Clarion: preview
replacements, export/document generators, report add-on templates, or anything
that reads report page files or implements the report generator interface. What
changed, when it appears, and the transition path for each integration
style.

Robert

  • Does FORMAT return (pushes to the string stack) an Unicode string always?
  • Do properties return (push to the string stack) Unicode strings or it depends?
  • Is USTRING a new base type now? If yes, how conversion rules for base types changed?
  • Is short conversion between base types implemented? For example, (U)STRING->LONG without intermediate DECIMAL/REAL values.

Robert,

I can assure you that I’ll have questions but I have too damn much on my mind at the moment to even think about it.

Stay tuned!

I can confirm a Report with UNICODE will create EMF files in the Preview Queue and show Unicode:

This is my own Report Test simple preview that shows the Preview Queue in a drop list. The EMF works fine in an IMAGE control.

Notice the temp file name is now CLA plus 16 digits and ends with .EMF for Unicode. WMF files get the same file name, possibly to fix the Report Pages Lost/Dup problem (I’ll have to test).

The format seems to be CLA0000 + HHHH + PPPPPPPP i.e.

  • Always starts with CLA0000 in my tests
  • + HHHH a unique per Report instance ID 4 Hex Digits
  • + PPPPPPPP 8 Hex Digits for page number, so 2 billion pages

It looks like they took the old 7.3 temp name CLAhhhh.WMF and inserted ‘0000’ then appended an 8 hex Page Number.


Below an example without UNICODE on the Report and shows ? ? ? for the Chess and .WMF for the file name. WMF cannot show Unicode.


Ctrl+D to open the Designer will reject Report .... UNICODE so add it after. It did not work to add the new Report{PROP:Unicode}=True which says its for BLOB/MEMO. I’ll hunt for a PrintProp:.

UnicodeRptTest1-v2.zip (2.5 KB)

I found undocumented Property to turn ON Unicode for a Report like this

Report REPORT,AT(),PRE(RPT),THOUS  !!! not UNICODE here
       END
Prop:UnicodeReport EQUATE(7A82h)      !Undocumented Prop does REPORT,UNICODE
    CODE  
    OPEN(Report) 
    Report{Prop:UnicodeReport}=TRUE   !Make EMF Page Files 

That number 7A82h comes after the last Property.clw PROP:OriginalHeight EQUATE(7A81h)

@RZaunere does this Property do something other than Reports? If not it seems like it should be in PrnProp.CLW so more like a 7Bxx hex value.

I tried the PROP: with SYSTEM but it did not change the Report to Unicode. It seems it would be useful to set it once so All reports output EMFs. For Lee that would help him test his libraries with every report outputting EMFs.

Carl,

I’m unable to test anything at the moment.

I was wondering, what happens to this report if you forget to indicate UNICODE at the report level?

Off the collar, do templates support UNICODE entries?

If so, what’s needed and how do you include UNICODE in the templates?

Small example. RPM introduced page of pages and my template allows the developer to enter the placekeeper which, now, could need to be UNICODE.

The Unicode will show as Question marks ? ? ?

If you look up at my post the 1st screen shot shows Unicode Chess Pieces and the file name is an .EMF

The 2nd screen shot shows the Chess as Hello World ? ? ? and a .WMF file name. This is documented in the Test Guide.