[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft] Convert_glyph()
From: |
Dakai Liu |
Subject: |
Re: [ft] Convert_glyph() |
Date: |
Fri, 18 Jan 2013 13:02:14 +1100 |
Hi,
I have found the problem in our freetype code. In function Insert_Y_Turn(), I
have:
if (ras.maxBuff <= ras.top)
{
...
return FAILURE;
}
ras.maxBuff--;
...
Where as in current freetype, it is:
ras.maxBuff--;
if (ras.maxBuff <= ras.top)
{
...
return FAILURE;
}
....
Sorry it is my fault for spamming the list. Thank you very much for the clue.
Best Regards,
Dakai
________________________________________
From: suzuki toshiya address@hidden
Sent: Friday, 18 January 2013 12:26 PM
To: Dakai Liu
Cc: address@hidden
Subject: Re: [ft] Convert_glyph()
Hi,
Thanks in advance for your effort to further investigation!
If any sample data to reproduce the issue is available,
I will succeed.
Regards,
mpsuzuki
Dakai Liu wrote:
> Hello Suzuki,
>
>> Thank you for the info, the problem is that ras.error is
>> not set appropriately in the case that the overflow occurs?
>
> It appears to be the case, how ever I have not yet to identify which curve
> caused the error without setting the ras.error.
> I will do some more debugging and let you know.
>
> Best Regards,
> Dakai
>
> ________________________________________
> From: suzuki toshiya address@hidden
> Sent: Friday, 18 January 2013 12:07 PM
> To: Dakai Liu
> Cc: address@hidden
> Subject: Re: [ft] Convert_glyph()
>
> Hi,
>
> Thank you for the info, the problem is that ras.error is
> not set appropriately in the case that the overflow occurs?
>
> Regards,
> mpsuzuki
>
> Dakai Liu wrote:
>> Dear list,
>>
>> I have encountered a rendering failure on a Kanji glyph. Turned out to
>> errorring in Convert_glyph(). The last line of the function:
>>
>> return (Bool) (ras.top < ras.maxBuff ? SUCCESS : FAILURE )
>>
>> returns an error when ras.top == ras.maxBuff. And sebsequently the
>> Render_Single_Pass() failed too.
>> Then I replace the a fore mentioned line with the following:
>>
>> if ( ras.top < ras.maxBuff )
>> {
>> return (Bool)SUCCESS;
>> }
>> else
>> {
>> ras.error = Raster_Err_Overflow;
>> return (Bool)FAILURE;
>> }
>>
>> Then the error goes away. Please advice the new code is correct?
>>
>>
>> Best Regards,
>> Dakai
>> _______________________________________________
>> Freetype mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/freetype
>