John Hudson scripsit:
> 
> One of the tools I use for building fonts requires that codepoints for 
> Plane 1 characters be expressed as surrogate pairs, rather than as scalar 
> values. I'm hoping this will change on the next release, since the scalar 
> I need to figure 
> out the easiest way to find the correct surrogate pair values for any given 
> scalar value. 

If you have access to any Windows box, you can use the Windows Calculator
(Start/Programs/Accessories/Calculator).  Choose View/Scientific and
click on the Hex radio button.  Then enter your 5-digit Unicode scalar value.
(You must type hex digits in lower case.)  To get the high surrogate, type:

        - 1 0 0 0 0 = / 4 0 0 + d 8 0 0 =

To get the low surrogate, enter the scalar value again and type:

        - 1 0 0 0 0 = % 4 0 0 + d c 0 0 =

You can also use the mouse, in which case "%" above represents the MOD key.

On *ix systems, use the "bc" command; type "obase=16" and "ibase=16".
For this program, you must use capital letters for the hex digits.
To get the high surrogate, type "(xxxxx-10000)/400+DC00" for the high
surrogate ("xxxxx" is the scalar value); to get the low surrogate,
type "(xxxxx-10000)%400+DC00".

On the Macintosh, I have no clue.

-- 
John Cowan                                   [EMAIL PROTECTED]
        "You need a change: try Canada"  "You need a change: try China"
                --fortune cookies opened by a couple that I know

Reply via email to