(16r00E007F + 16r000001) asCharacter

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

(16r00E007F + 16r000001) asCharacter

Squeak - Dev mailing list
Hi Folks,

I am diving into Unicode and resultant parts for  my WikitextParser  work and am asking for some pointers on where to look in Squeak/Morphic for how fonts interact with Morphic.

The maximum unicode character per here: https://jrgraphix.net/research/unicode_blocks.php is 16r00E007F

So, I decided to see what Character would do if I dialed it up to 11 a bit...

(16r00E007F + 16r000001) asCharacter

What this tells me is that Character just has an integer and that the display of the character associated with that integer is "delegated" to something else (which makes sense).

So, as I try to "duplicate" the displayed characters at https://jrgraphix.net/research/unicode_blocks.php  with an appropriate Font (or "Font strategy...meaning, detect the font required and load it on the fly in a particular use-case) 
I figured I would ask for help in clarifying my presuppositions on how we get from 16r00E0041 asCharacter to 16r00E0042 asCharacter 

(get it? from A to B....heh).

to expand a bit.

I have characters that do show up in Chrome that do not show up in Squeak. I assume this only has to do with the Font not supporting that particular integer. Is this assumption correct? 


thanks in advance.





Reply | Threaded
Open this post in threaded view
|

Re: (16r00E007F + 16r000001) asCharacter

Eliot Miranda-2

On Jan 31, 2021, at 12:16 AM, gettimothy via Squeak-dev <[hidden email]> wrote:


Hi Folks,

I am diving into Unicode and resultant parts for  my WikitextParser  work and am asking for some pointers on where to look in Squeak/Morphic for how fonts interact with Morphic.

The maximum unicode character per here: https://jrgraphix.net/research/unicode_blocks.php is 16r00E007F

So, I decided to see what Character would do if I dialed it up to 11 a bit...

(16r00E007F + 16r000001) asCharacter

What this tells me is that Character just has an integer and that the display of the character associated with that integer is "delegated" to something else (which makes sense).

So, as I try to "duplicate" the displayed characters at https://jrgraphix.net/research/unicode_blocks.php  with an appropriate Font (or "Font strategy...meaning, detect the font required and load it on the fly in a particular use-case) 
I figured I would ask for help in clarifying my presuppositions on how we get from 16r00E0041 asCharacter to 16r00E0042 asCharacter 

(get it? from A to B....heh).

to expand a bit.

I have characters that do show up in Chrome that do not show up in Squeak. I assume this only has to do with the Font not supporting that particular integer. Is this assumption correct? 

Yes.  Character can represent all the character codes from 0 to 2^30-1.  I think that (2 raisedTo: 30) asCharacter should raise an error on 64 bits.  It should definitely raise an error on 32 bits.

Note that in V3 we can (but should not) create Character instances with LargeInteger codes.  This is not a good idea ;-)

thanks in advance.






Reply | Threaded
Open this post in threaded view
|

Re: (16r00E007F + 16r000001) asCharacter

Tobias Pape
Hi


> On 31. Jan 2021, at 13:19, Eliot Miranda <[hidden email]> wrote:
>
>>
>> On Jan 31, 2021, at 12:16 AM, gettimothy via Squeak-dev <[hidden email]> wrote:
>>
>> 
>> Hi Folks,
>>
>> I am diving into Unicode and resultant parts for  my WikitextParser  work and am asking for some pointers on where to look in Squeak/Morphic for how fonts interact with Morphic.
>>
>> The maximum unicode character per here: https://jrgraphix.net/research/unicode_blocks.php is 16r00E007F
>>
>> So, I decided to see what Character would do if I dialed it up to 11 a bit...
>>
>> (16r00E007F + 16r000001) asCharacter
>>
>> What this tells me is that Character just has an integer and that the display of the character associated with that integer is "delegated" to something else (which makes sense).
>>
>> So, as I try to "duplicate" the displayed characters at https://jrgraphix.net/research/unicode_blocks.php  with an appropriate Font (or "Font strategy...meaning, detect the font required and load it on the fly in a particular use-case)
>> I figured I would ask for help in clarifying my presuppositions on how we get from 16r00E0041 asCharacter to 16r00E0042 asCharacter  
>>
>> (get it? from A to B....heh).
>>
>> to expand a bit.
>>
>> I have characters that do show up in Chrome that do not show up in Squeak. I assume this only has to do with the Font not supporting that particular integer. Is this assumption correct?
>
> Yes.  Character can represent all the character codes from 0 to 2^30-1.  I think that (2 raisedTo: 30) asCharacter should raise an error on 64 bits.  It should definitely raise an error on 32 bits.

Mind the leading character…
-t

>
> Note that in V3 we can (but should not) create Character instances with LargeInteger codes.  This is not a good idea ;-)
>
>> thanks in advance.