On 26 March 2013 11:32, Tudor Girba <[email protected]> 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 > <[email protected]> wrote: >> >> 2013/3/25 Stéphane Ducasse <[email protected]>: >> > >> > >> > Begin forwarded message: >> > >> > From: Igor Stasenko <[email protected]> >> > Subject: Re: Some question and request for Athens >> > Date: March 25, 2013 2:57:33 PM GMT+01:00 >> > To: Tristan Bourgois <[email protected]> >> > Cc: Stéphane Ducasse <[email protected]>, LE PORS Eric >> > <[email protected]> >> > >> > On 25 March 2013 11:45, Tristan Bourgois <[email protected]> >> > 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.
