[M3devel] Widechar literals [Was Re: Oops, forgot to ask (Rodney M. Bates)

Peter Eiserloh eiserlohpp at yahoo.com
Thu Dec 17 18:46:31 CET 2009


Thank you Rodney.

So, if I wanted to represent GREEK SMALL LETTER ALPHA:

CONST
   GreekSmallAlpha = W'03B1';  (* WIDECHAR *)

I may not have understood properly.

This is not explained in
   http://www.opencm3.net/doc/reference/texts.html

There should be a way of specifying that this is a
hex value.  Octal values are of course introduced
with a backslash followed by a three octal digits.
I would have liked to see something like a backslash
followed by an x or X and four hexadecimal digits
to give the 16-bit value.  As in W'\x03B1'.

If we were to ever get full unicode support (20-bits)
we may need an escape for it.  The unicode standard
lists code points as in "U+003B1", so a similar escape 
may look like W'\u003B1'.


Next question: are the hexadecimal digits case insensitive?



Peter


>Date: Wed, 16 Dec 2009 17:35:29 -0600
>From: "Rodney M. Bates" <rodney_bates at lcwb.coop>
>Subject: Re: [M3devel] Oops, forgot to ask
>To: M3Devel <m3devel at elegosoft.com>
>Message-ID: <4B296EC1.1080407 at lcwb.coop>
>Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
>Peter Eiserloh wrote:
>> Hi Gang,
>>
>>
>>
>> 1 - How does one write a WIDECHAR literal?  Are WIDECHAR
>> currently only 16-bits?  If so they are limited to only
>> the basic multilingual plane (BMP).
>
>Put a 'W' or 'w' immediately before the opening single
>quote of a character literal, and it becomes a WIDECHAR
>literal.  It has type WIDECHAR, allows characters with
>16-bit codes, and also allows 16-bit octal and hex escapes.


+--------------------------------------------------------+
| Peter P. Eiserloh                                      |
+--------------------------------------------------------+


      



More information about the M3devel mailing list