← Back to team overview

kicad-developers team mailing list archive

Re: Bitmap fonts

 

Le 22/04/2016 10:36, Maciej Sumiński a écrit :
> On 04/21/2016 08:35 PM, jp charras wrote:
>> Le 21/04/2016 17:51, Maciej Sumiński a écrit :
>>> On 04/21/2016 05:46 PM, jp charras wrote:
>>>> Yes, W7 32 bits + msys2.
>>>>
>>>>>
>>>>>> I also noticed an issue for pcb texts: the vertical justification has changed:
>>>>>> when changing the horizontal justification, the vertical justification is also changed.
>>>>>> (This is a bug which break compatibility: currently the vertical justification is expected always
>>>>>> centered)
>>>>>
>>>>> Do you see it with Cairo? Or does the OpenGL canvas not always crash?
>>>>
>>>> With Cairo and Legacy canvas (which uses now since a few time (rev 6649) the functions in
>>>> stroke_font, with a basic GAL layer).
>>>> OpenGL canvas always crashes.
>>>>
>>>
>>> I am really grateful for testing.
>>>
>>> I have just pushed a potential fix, as I cannot reproduce the problem on
>>> any of my machines. Please let me know if it helps.
>>
>> Good news, it works now. Thanks.
>>>
>>> I will have a look at centering problem tomorrow.
>>
>> Be careful when modifying functions related to stroke_font.cpp and graphics_abstraction_layer.cpp
>> (text related functions and variables) from the trunk.
>> They are now used not only in legacy canvas, but also for plot functions and bounding box
>> calculations (DRC, zone filling..)
>>
>> I made these changes because I removed most of duplicate code ( legacy/plot/GAL functions) relative
>> to texts (not only to clean code, but mainly to avoid differences between texts shown on screen and
>> plotted).
>>
>> Now this is the code from GAL which is used.
> 
> Good job, I was not aware of this. I think I have caught & fixed all the
> problems related to text positioning & display.
> 
> Have you loaded a complex board during the test? I think the code would
> have crashed if CACHED_CONTAINER was resized, but it should be fixed now.
> 
> Regards,
> Orson
> 
> 

Yes, it was a small board.
I just tested it on a large board, and yes, the code crashes (same error: invalid enum).

I'll test the new code ASAP.

-- 
Jean-Pierre CHARRAS


References