[reportlab-users] V2 bullet
Mike Dewhirst
miked at dewhirst.com.au
Mon Jul 24 22:57:46 EDT 2006
John
Thank you very much. I read and absorbed all that. Much clearer now and
I have resolved my problem.
Thanks
Mike
John J. Lee wrote:
> On Mon, 24 Jul 2006, Mike Dewhirst wrote:
> [...]
>> Prof Google led me up many dark and twisty alleys and that led me to
>> think I'm not really sure I want to allocate brain space to the
>> innards of unicode. But I do want to be able translate various symbols
>> in various to codes which I then want to make Python emit.
>>
>> Can you suggest any links or directions to reading matter for people
>> (ie me) with short attention spans?
>
> There's a certain minimum you should really know, which is not difficult
> to get your head around. You need to know what a codepoint is, and what
> an encoding is, for example. Here's a good primer:
>
> http://www.joelonsoftware.com/articles/Unicode.html
>
>
> Then you need to know how that applies to Python:
>
> http://effbot.org/zone/unicode-objects.htm
>
>
> When you've absorbed that, rummage through the unicode code charts to
> find either the codepoint for the character you want, or the long
> "friendly name" of the character (you can also use Windows' "Character
> Map" utility):
>
> http://www.unicode.org/charts/
>
>
> Then, to include that character in a Python string, either use one of
> the unicode string escapes to type in the character, or encode the
> codepoint to the encoding you're using (e.g. UTF-8). e.g. let's say I
> want the character R with a circle around it (the registered trademark
> sign). The codepoint for that is 174 (or AE in hexadecimal). Here's
> several different ways of writing that, first as a Python unicode string
> object (all these mean the same thing):
>
> u"\N{Registered Sign} ReportLab Europe Ltd."
> u'\xae ReportLab Europe Ltd.'
> u'\u00ae ReportLab Europe Ltd.'
> u'\U000000ae ReportLab Europe Ltd.'
>
>
> The first uses the "friendly name" I mentioned above, the others use the
> codepoint.
>
> Or you can write it as a regular string object encoded in UTF-8:
>
> '\xc2\xae ReportLab Europe Ltd.'
>
>
> How did I get the \xc2\xae at the start of that last example? I just
> used Python to encode to UTF-8 from a unicode string I typed in:
>
>>>> u"\N{Registered Sign}".encode("utf-8")
> '\xc2\xae'
>
>
> Here's the Python docs on these escape codes:
>
> http://docs.python.org/ref/strings.html
>
>
>> If not, I'll settle for dark and twisty stuff :)
>
> There's lots of dark and twisty stuff about collation, normalisation,
> etc. etc. etc., but most people get away with ignoring it all ;-)
>
>
> John
> _______________________________________________
> reportlab-users mailing list
> reportlab-users at reportlab.com
> http://two.pairlist.net/mailman/listinfo/reportlab-users
>
>
More information about the reportlab-users
mailing list