On 26 March 2013 15:32, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi Igor,
Thanks. I managed that also in 1.4, but my question was about how to set a TT font programmatically.
where? you know, if you right-click on setting in settings browser and then click "browse", you will find a place where this setting is defined and then a little of investigation will lead you to some class var/etc which you can change programmatically in a way you want.
Cheers, Doru
On Tue, Mar 26, 2013 at 2:20 PM, Igor Stasenko <siguctua@gmail.com> wrote:
On 26 March 2013 11:32, Tudor Girba <tudor@tudorgirba.com> wrote:
Indeed, I second the newbie question: how do we set TrueType fonts :)?
system settings -> appearance turn on "use freetype" then go to "standard fonts" and choose any truetype font you like as default.
Doru
On Tue, Mar 26, 2013 at 11:29 AM, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/3/25 Stéphane Ducasse <stephane.ducasse@inria.fr>:
Begin forwarded message:
From: Igor Stasenko <siguctua@gmail.com> Subject: Re: Some question and request for Athens Date: March 25, 2013 2:57:33 PM GMT+01:00 To: Tristan Bourgois <tristan.bourgois@gmail.com> Cc: Stéphane Ducasse <stephane.ducasse@inria.fr>, LE PORS Eric <eric.lepors@fr.thalesgroup.com>
On 25 March 2013 11:45, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
Hi Igor!
I have some questions and request for Athens :)
1 Do exist a possibility in Athens to draw a Surface on a Surface? For example : aSurf drawSurface: anOtherSurface at: aPosition (I need it for draw image on a surface)
yes. You can use Forms or surfaces as paints so they act like 2D textures:
canvas setPaint: someSurface. canvas drawShape: myRect.
Thanks that's works fine :)
2 About my first question, I try to draw a png image on a Surface and I get some strange behavior. When nothing is applied on my first surface and draw the image in a rectangle path I crash the VM! This an example I tried and crash my VM:
|surf pharoLogo ref path patternPaint| surf := AthensCairoSurface extent: 600@600.
ref := 'pharo.png' asFileReference. pharoLogo := AthensCairoSurface createFromFile: ref fullName ifFailed:[nil].
surf drawDuring: [:can| surf clear. patternPaint := can setPaint: pharoLogo. patternPaint setExtend: #None. can drawShape: (0@0 extent: pharoLogo extent). ]. Display getCanvas drawImage: surf asForm at: 0@0.
If you need more information about the crash and my environment ask it :)
weird... it should be working fine.
I try it on a new clean image and again get a VM crash.
3. Do exist something in Athens to create some text and get the extent of the text? I tried to draw text but I only succeed to draw a text without font (only width) and I don't found how to get the extent of this text :( This is really important for the next of the porting because I'm blocking on that and the textModel is not necessary for the next of my work because they already have a layoutManager for the text.
You can use freetype to measure text extent. Please look how i doing it with AthensTextScanner. Because the default methods of freetype using rounding for font size(s), which is not really nice. I added more precise methods, which do not do any rounding and using them for measuring text extent.
Try this:
text := 'asdsdgs' asText. lines := (AthensTextComposer scan: text for: AthensTextScanner new) lines.
lines first width.
will give you the width.
(but for that to work, your default font should be TTF font)
Sorry for the newbie question but how I can change the default font to TTF font?
Thanks Igor :)
Tristan
PS: The porting advance as well :) I have animation and that's really amazing :)
-- Best regards, Igor Stasenko.
-- www.tudorgirba.com
"Every thing has its own flow"
-- Best regards, Igor Stasenko.
-- www.tudorgirba.com
"Every thing has its own flow"
-- Best regards, Igor Stasenko.