Cool. I just loaded the latest NB and Athens (as Igor sent around) but my image is not fully up to date. I'll try downloading a new one and reloading my work from packages. I just wanted to make sure that this was worth the effort. If that doesn't work, then I'll send Igor my image.
Cheers, Jeff On Wed, Apr 2, 2014 at 10:55 PM, Pharo4Stef <[email protected]> wrote: > > On 02 Apr 2014, at 14:46, J.F. Rick <[email protected]> wrote: > > Is this supposed to fix the font rendering problem or some other font > problem? I tried it and it doesn't seem to help the rendering problem. > > > normally it should fix the font PrObLem > can you check that you loaded the latest NB? > > > Cheers, > > Jeff > > > On Tue, Apr 1, 2014 at 6:27 PM, Igor Stasenko <[email protected]> wrote: > >> okay i uploaded updated configs for NativeBoost and Athens into official >> repositories for these projects. >> >> Gofer new smalltalkhubUser: 'Pharo' project: 'NativeBoost'; >> configuration; >> load. >> >> ConfigurationOfNativeBoost loadDevelopment. >> >> >> >> Gofer new smalltalkhubUser: 'Pharo' project: 'Athens'; >> configuration; >> load. >> >> ConfigurationOfAthens loadDevelopment. >> >> >> shall do the trick.. >> >> for more details see >> >> https://pharo.fogbugz.com/f/cases/13150/Different-memory-alignment-on-different-platforms >> >> >> >> On 28 March 2014 21:13, Pharo4Stef <[email protected]> wrote: >> >>> thanks Igor. >>> I'm trying to look at the font reloading bug. >>> >>> >>> On 28 Mar 2014, at 17:19, Igor Stasenko <[email protected]> wrote: >>> >>> >>> https://pharo.fogbugz.com/f/cases/13150/Different-memory-alignment-on-different-platforms >>> >>> >>> On 28 March 2014 16:42, Igor Stasenko <[email protected]> wrote: >>> >>>> so, the quick and dirty fix is to put: >>>> >>>> CairoGlyph class>>byteAlignment >>>> >>>> NativeBoost platformId = NativeBoostConstants win32PlatformId >>>> ifTrue: [ ^ 8 ]. >>>> ^ super byteAlignment >>>> >>>> and then: >>>> >>>> CairoGlyph rebuildFieldAccessors >>>> CairoGlyphsArray initialize >>>> >>>> (note you must run this snippet each time your image changes platform).. >>>> >>>> and i need more time to fix it for real, because it is NB issue, to >>>> automatically recalculate the structs size >>>> if it changes platform.. (which also means you cannot store instances >>>> of struct in image which survive the session) >>>> ... damn.. that's going to be complicated. >>>> >>>> --- >>>> >>>> >>>> >>>> On 28 March 2014 16:27, Igor Stasenko <[email protected]> wrote: >>>> >>>>> >>>>> >>>>> >>>>> On 28 March 2014 16:01, Igor Stasenko <[email protected]> wrote: >>>>> >>>>>> >>>>>> Ookkayy.. >>>>>> so, current status: >>>>>> >>>>>> - finally we got an agreement that big red square because of font >>>>>> loading issues and font rendering artifacts is two separate issues. >>>>>> Thanks! >>>>>> - i am not going to address font-loading issue here and now.. >>>>>> (because we spent time on it earlier today with Stef already and you >>>>>> should >>>>>> have the report on it in separate mail). >>>>>> >>>>>> - we seem to be agreed that it is best to use same (up-to-date >>>>>> version) of software when reporting issues to work on them. Thanks >>>>>> again. :) >>>>>> >>>>>> - while on linux and mac things seem to be working fine, i can >>>>>> confirm that there is rendering artifacts (same as reported by Vincent) >>>>>> on >>>>>> Windows. >>>>>> >>>>>> so i going to explore what causing this problem.. >>>>>> >>>>>> ... and found the cause: >>>>> >>>>> On windows, for unknown reason, the structure (cairo_glyph_t) uses >>>>> different memory space alignment than on mac and linux >>>>> >>>>> fieldsDesc >>>>> ^ #( >>>>> ulong index; >>>>> double x; >>>>> double y; >>>>> ) >>>>> >>>>> on mac and linux , the size of this structure in memory = 4 + 8 + 8 = >>>>> 20 bytes, >>>>> on windows, however, due to 8-byte alignment, it is 4 + 8 + 8 + (4 >>>>> alignment) bytes... >>>>> >>>>> this causing the effect that if you copy array of glyphs in memory, >>>>> it does not copying whole array by slightly less (because it uses >>>>> wrong struct size which is smaller than it is).. >>>>> and because of that, you got weird artefacts at the tail of string, >>>>> replaced by misplaced/invalid characters etc.. >>>>> because it is basically read from uninitialized part of memory with >>>>> random data. >>>>> >>>>> i going to fix structure alignment for windows from default 4 bytes to >>>>> 8 bytes.. >>>>> but this is not very good news.. because this affecting many things... >>>>> (as you can imagine, not only cairo/athens working with external >>>>> structures, which need to be properly aligned). >>>>> >>>>> -- >>>>> Best regards, >>>>> Igor Stasenko. >>>>> >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Igor Stasenko. >>>> >>> >>> >>> >>> -- >>> Best regards, >>> Igor Stasenko. >>> >>> >>> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > > > > -- > Jochen "Jeff" Rick, Ph.D. > http://www.je77.com/ > Skype ID: jochenrick > > > -- Jochen "Jeff" Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
