[squeak-dev] 603 asCharacter <print it>

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

[squeak-dev] 603 asCharacter <print it>

Hannes Hirzel
Hello

I use the updated Squeak3.10.2-trunk.image as of today.

  603 asCharacter

gives the result as shown in the screenshot. Any suggestions?
Do I need to load a Multilingual package? From where?

Regards
Hannes


BTW
Pharo 1.0beta10413 shows the result correctly in a Shout Workspace. But
what is unfortunate there is that ctrl-C and ctrl-V freezes the image
(on MSWindows in VirtualBox)

And:
The current system font in the updated Squeak3.10.2-trunk.image is
really nice.



ResultOf_603_asCharacter.png (12K) Download Attachment
ResultOf_603_asCharacter_on_Pharo1.0beta10413.png (31K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: 603 asCharacter <print it>

Simon Michael
That looks like http://bugs.squeak.org/view.php?id=7378 (currently assigned to Andreas).


> The current system font in the updated Squeak3.10.2-trunk.image is
> really nice.


Agreed. I know a lot of people have worked on fonts, but: yay Juan!


Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: 603 asCharacter <print it>

Andreas.Raab
In reply to this post by Hannes Hirzel
hannes.hirzel wrote:
> I use the updated Squeak3.10.2-trunk.image as of today.
>
>  603 asCharacter
>
> gives the result as shown in the screenshot. Any suggestions?

The issue was caused by a method which didn't use the proper two-pass
rendering for the new fonts. I've fixed this in the trunk (just update).

However, our new fonts only cover Latin-1 range so using non-latin
characters with it won't work. In order to use non-latin characters you
will have to find a suitable font.

You can do this by hitting Cmd-K (Alt-K) and go to the (equally new)
"More (non-portable) Fonts..." section at the end of the font menu. This
will offer you platform truetype fonts to use which hopefully have the
coverage you are looking for.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: 603 asCharacter <print it>

Hannes Hirzel
Great, thank you for the quick answer! A thunderstorm this morning has
just blown up our internet connection and I am writing this in a
internet cafe. However I want to try this out ASAP.

Hannes

On 8/14/09, Andreas Raab <[hidden email]> wrote:

> hannes.hirzel wrote:
>> I use the updated Squeak3.10.2-trunk.image as of today.
>>
>>  603 asCharacter
>>
>> gives the result as shown in the screenshot. Any suggestions?
>
> The issue was caused by a method which didn't use the proper two-pass
> rendering for the new fonts. I've fixed this in the trunk (just update).
>
> However, our new fonts only cover Latin-1 range so using non-latin
> characters with it won't work. In order to use non-latin characters you
> will have to find a suitable font.
>
> You can do this by hitting Cmd-K (Alt-K) and go to the (equally new)
> "More (non-portable) Fonts..." section at the end of the font menu. This
> will offer you platform truetype fonts to use which hopefully have the
> coverage you are looking for.
>
> Cheers,
>    - Andreas
>
>

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: 603 asCharacter <print it>

Andreas.Raab
Hannes Hirzel wrote:
> Great, thank you for the quick answer! A thunderstorm this morning has
> just blown up our internet connection and I am writing this in a
> internet cafe. However I want to try this out ASAP.

You're welcome. I just posted another set of fixes for font rendering
but there is one that I can't fix right now. Apparently, BitBlt got
broken and no longer updates the text position after a primDisplayString
call. This leads to problems if you use mixed font rendering. If you
find that the spacing of certain characters seems to be completely wrong
(like printed on top of each other) comment out the BitBlt
primDisplayString primitive to see if that fixes it.

Cheers,
   - Andreas

>
> Hannes
>
> On 8/14/09, Andreas Raab <[hidden email]> wrote:
>> hannes.hirzel wrote:
>>> I use the updated Squeak3.10.2-trunk.image as of today.
>>>
>>>  603 asCharacter
>>>
>>> gives the result as shown in the screenshot. Any suggestions?
>> The issue was caused by a method which didn't use the proper two-pass
>> rendering for the new fonts. I've fixed this in the trunk (just update).
>>
>> However, our new fonts only cover Latin-1 range so using non-latin
>> characters with it won't work. In order to use non-latin characters you
>> will have to find a suitable font.
>>
>> You can do this by hitting Cmd-K (Alt-K) and go to the (equally new)
>> "More (non-portable) Fonts..." section at the end of the font menu. This
>> will offer you platform truetype fonts to use which hopefully have the
>> coverage you are looking for.
>>
>> Cheers,
>>    - Andreas
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: 603 asCharacter <print it>

Hannes Hirzel
Hello

I really like the new look with the updated GUI elements and with a
regular menu bar in Squeak 4.1alpha #9832

So I did a retest how Unicode characters are displayed.


Display Unicode symbols broken
------------------------------------------------

I wanted to choose a font from the platform

    Cmd-K (Alt-K) and go to the (equally new) "More (non-portable)
Fonts..." entry

The choice for "More (non-portable) Fonts..." is not available.


Then I did
   TTFileDescription installFamilyNamed: 'Arial'.
as mentioned in the readme file.

The evaluation of
  603 asCharacter

displays a box instead of a Latin Small Letter Open E


After switching to Russian with
  Locale switchToID: (LocaleID isoLanguage: 'ru').

  16r411 asCharacter

is displayed as a box as well. It should be the Cyrillic capital letter Be


Regards

Hannes

Reply | Threaded
Open this post in threaded view
|

Re: 603 asCharacter <print it>

Nicolas Cellier
Hi,

I just tried this on a Mac OS X with success:

TTFileDescription installFamilyNamed: 'Arial'.
(StringHolder new contents: 'a' , (String with: 603 asCharacter with:
16r411 asCharacter)) openLabel: 'Some unicode'.

Then used CMD+SHIFT+K and selected Arial.

Nicolas

2010/3/27 Hannes Hirzel <[hidden email]>:

> Hello
>
> I really like the new look with the updated GUI elements and with a
> regular menu bar in Squeak 4.1alpha #9832
>
> So I did a retest how Unicode characters are displayed.
>
>
> Display Unicode symbols broken
> ------------------------------------------------
>
> I wanted to choose a font from the platform
>
>    Cmd-K (Alt-K) and go to the (equally new) "More (non-portable)
> Fonts..." entry
>
> The choice for "More (non-portable) Fonts..." is not available.
>
>
> Then I did
>   TTFileDescription installFamilyNamed: 'Arial'.
> as mentioned in the readme file.
>
> The evaluation of
>  603 asCharacter
>
> displays a box instead of a Latin Small Letter Open E
>
>
> After switching to Russian with
>  Locale switchToID: (LocaleID isoLanguage: 'ru').
>
>  16r411 asCharacter
>
> is displayed as a box as well. It should be the Cyrillic capital letter Be
>
>
> Regards
>
> Hannes
>
>

Reply | Threaded
Open this post in threaded view
|

Re: 603 asCharacter <print it>

Hannes Hirzel
Thank you Nicolas for doing the test on a Mac,

I did a similar test again on MSWindows

32 to: 1000 do: [:code | Transcript show: (code printString , ' ',
code asCharacter asString,' ')]

Then I selected the generated text in the Transcript and changed the
font to a Unicode font and voila the Unicode symbols were there.

What I found out is that the problem lies at a different place

1) Open a Workspace
2) Right-Click on it and choose 'Set font'
3) Choose 'Arial'
4) Evaluate 16r411 asCharacter
-> A box appears
5) Select the expression and choose 'Arial' again.
-> The Cyrillic capital letter Be appears

So the question is: How do I tell a Workspace to accept 'Arial' as its
default font.

Hannes

On 3/28/10, Nicolas Cellier <[hidden email]> wrote:

> Hi,
>
> I just tried this on a Mac OS X with success:
>
> TTFileDescription installFamilyNamed: 'Arial'.
> (StringHolder new contents: 'a' , (String with: 603 asCharacter with:
> 16r411 asCharacter)) openLabel: 'Some unicode'.
>
> Then used CMD+SHIFT+K and selected Arial.
>
> Nicolas
>
> 2010/3/27 Hannes Hirzel <[hidden email]>:
>> Hello
>>
>> I really like the new look with the updated GUI elements and with a
>> regular menu bar in Squeak 4.1alpha #9832
>>
>> So I did a retest how Unicode characters are displayed.
>>
>>
>> Display Unicode symbols broken
>> ------------------------------------------------
>>
>> I wanted to choose a font from the platform
>>
>>    Cmd-K (Alt-K) and go to the (equally new) "More (non-portable)
>> Fonts..." entry
>>
>> The choice for "More (non-portable) Fonts..." is not available.
>>
>>
>> Then I did
>>   TTFileDescription installFamilyNamed: 'Arial'.
>> as mentioned in the readme file.
>>
>> The evaluation of
>>  603 asCharacter
>>
>> displays a box instead of a Latin Small Letter Open E
>>
>>
>> After switching to Russian with
>>  Locale switchToID: (LocaleID isoLanguage: 'ru').
>>
>>  16r411 asCharacter
>>
>> is displayed as a box as well. It should be the Cyrillic capital letter Be
>>
>>
>> Regards
>>
>> Hannes
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: 603 asCharacter <print it>

Nicolas Cellier
2010/3/29 Hannes Hirzel <[hidden email]>:

> Thank you Nicolas for doing the test on a Mac,
>
> I did a similar test again on MSWindows
>
> 32 to: 1000 do: [:code | Transcript show: (code printString , ' ',
> code asCharacter asString,' ')]
>
> Then I selected the generated text in the Transcript and changed the
> font to a Unicode font and voila the Unicode symbols were there.
>
> What I found out is that the problem lies at a different place
>
> 1) Open a Workspace
> 2) Right-Click on it and choose 'Set font'
> 3) Choose 'Arial'
> 4) Evaluate 16r411 asCharacter
> -> A box appears
> 5) Select the expression and choose 'Arial' again.
> -> The Cyrillic capital letter Be appears
>
> So the question is: How do I tell a Workspace to accept 'Arial' as its
> default font.
>
> Hannes
>

Good question!

I've got an awfull snippet for raising the interactive menu:

(((StringHolder new contents: '0,02' , (String with: Character euro))
        openLabel: 'Euro') findDeeplyA: TextMorphForEditView) selectAll
editor changeTextFont

And another one to change the font directly:

(((StringHolder new contents: '0,02' , (String with: Character euro))
        openLabel: 'Euro') findDeeplyA: TextMorphForEditView) fontName:
'Arial' pointSize: 12

Very fragile (highly dependent on implementation).
But maybe Morphic experts will come with simpler code :)

Nicolas

> On 3/28/10, Nicolas Cellier <[hidden email]> wrote:
>> Hi,
>>
>> I just tried this on a Mac OS X with success:
>>
>> TTFileDescription installFamilyNamed: 'Arial'.
>> (StringHolder new contents: 'a' , (String with: 603 asCharacter with:
>> 16r411 asCharacter)) openLabel: 'Some unicode'.
>>
>> Then used CMD+SHIFT+K and selected Arial.
>>
>> Nicolas
>>
>> 2010/3/27 Hannes Hirzel <[hidden email]>:
>>> Hello
>>>
>>> I really like the new look with the updated GUI elements and with a
>>> regular menu bar in Squeak 4.1alpha #9832
>>>
>>> So I did a retest how Unicode characters are displayed.
>>>
>>>
>>> Display Unicode symbols broken
>>> ------------------------------------------------
>>>
>>> I wanted to choose a font from the platform
>>>
>>>    Cmd-K (Alt-K) and go to the (equally new) "More (non-portable)
>>> Fonts..." entry
>>>
>>> The choice for "More (non-portable) Fonts..." is not available.
>>>
>>>
>>> Then I did
>>>   TTFileDescription installFamilyNamed: 'Arial'.
>>> as mentioned in the readme file.
>>>
>>> The evaluation of
>>>  603 asCharacter
>>>
>>> displays a box instead of a Latin Small Letter Open E
>>>
>>>
>>> After switching to Russian with
>>>  Locale switchToID: (LocaleID isoLanguage: 'ru').
>>>
>>>  16r411 asCharacter
>>>
>>> is displayed as a box as well. It should be the Cyrillic capital letter Be
>>>
>>>
>>> Regards
>>>
>>> Hannes
>>>
>>>
>>
>>
>
>