[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freetype-devel
Subject:    Re: [ft-devel] Upstreaming freetype diagnostics patches
From:       Felipe Sanches <juca () members ! fsf ! org>
Date:       2017-09-11 22:45:32
Message-ID: CAK6XL6AYc3BP85sx3fzXG_GdVpOQadxC13jjyoMpg47KAx--4g () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hello, Werner and friends,

I've just implemented the fix to the second issue that had been originally
pointed out:
Now the API uses enums to refer to rasterization errors and warnings,
instead of text strings.
I've also made sure to isolate all the diagnostics API inside ifdef blocks.

The example HintingDebugger C client was updated accordingly and now has a
header file with all the title and description text strings for each of
those enum error codes:

https://gitlab.com/fsanches/HintingDebugger

The API fixes are in these 3 commits:

https://github.com/felipesanches/freetype2/commit/
dac77c3aeebbf2eee1647d3b95f5b5e3bf9d2db0
https://github.com/felipesanches/freetype2/commit/
51ec98b528b395af25f03e8b3824964feaa5a89e
https://github.com/felipesanches/freetype2/commit/ae9b909a327ef3877977e279eb13c80004d9c34a

The remaining commits in that repo contain a few of the error/warning
DIAGNOSTICS macro calls. The rest of HinTak's original patches were not
published yet, but would be handy now so that we can integrate them as
well. The above-mentioned code changes address all issues that were
originally brought up (the couple global vars and usage of enums instead of
text strings).

Cheers,
Felipe Sanches


2017-09-11 14:20 GMT-03:00 Felipe Sanches <juca@members.fsf.org>:

> All the testing of this was done with this minimalist C client for the
> proposed diagnostics API:
> https://github.com/felipesanches/HintingDebugger
>
> Happy Hacking,
> Felipe Sanches
>
> 2017-09-11 11:57 GMT-03:00 Felipe Sanches <juca@members.fsf.org>:
>
>> Hello, Werner,
>>
>> I've moved the diagnostics callback field into FT_Face_Internal.
>> The current proposal to fix to the globals issue is the aggregate of the
>> following 2 commits:
>>
>> https://github.com/felipesanches/freetype2/commit/dac77c3aee
>> bbf2eee1647d3b95f5b5e3bf9d2db0
>> https://github.com/felipesanches/freetype2/commit/51ec98b528
>> b395af25f03e8b3824964feaa5a89e
>>
>> Please let me know if that's a good way of addressing the issue.
>>
>> Cheers,
>> Felipe Sanches
>>
>> 2017-09-09 3:08 GMT-03:00 Felipe Sanches <juca@members.fsf.org>:
>>
>>> Cool, thanks for the quick feedback! I'll see what  can do about it ;-)
>>>
>>> 2017-09-09 3:05 GMT-03:00 Werner LEMBERG <wl@gnu.org>:
>>>
>>>>
>>>> > I have adapted HinTak's b06 patch to address the globals usage issue
>>>> > that was originally brought up by Behdad.  He had suggested moving
>>>> > those globals to FT_Library, but I did place the diagnostics
>>>> > callback into the FT_Face struct, instead. Let me know if that's
>>>> > good.
>>>>
>>>> No time to look right now.  However, FT_Face is a public structure and
>>>> thus taboo – you *must not* modify it!  Use FT_Face_Internal instead.
>>>>
>>>>
>>>>    Werner
>>>>
>>>
>>>
>>
>

[Attachment #5 (text/html)]

<div dir="ltr"><div><div>Hello, Werner and friends,<br><br>I&#39;ve just implemented \
the fix to the second issue that had been originally pointed out:<br></div>Now the \
API uses enums to refer to rasterization errors and warnings, instead of text \
strings.<br>I&#39;ve also made sure to isolate all the diagnostics API inside ifdef \
blocks.<br><br></div><div>The example HintingDebugger C client was updated \
accordingly and now has a header file with all the title and description text strings \
for each of those enum error codes:<br><br><a \
href="https://gitlab.com/fsanches/HintingDebugger">https://gitlab.com/fsanches/HintingDebugger</a><br><br></div><div>The \
API fixes are in these 3 commits:<br><br><a \
href="https://github.com/felipesanches/freetype2/commit/dac77c3aeebbf2eee1647d3b95f5b5e3bf9d2db0" \
target="_blank">https://github.com/<wbr>felipesanches/freetype2/<wbr>commit/<wbr>dac77c3aeebbf2eee1647d3b95f5b5<wbr>e3bf9d2db0</a><br><a \
href="https://github.com/felipesanches/freetype2/commit/51ec98b528b395af25f03e8b3824964feaa5a89e" \
target="_blank">https://github.com/<wbr>felipesanches/freetype2/<wbr>commit/<wbr>51ec98b528b395af25f03e8b382496<wbr>4feaa5a89e</a><br><a \
href="https://github.com/felipesanches/freetype2/commit/ae9b909a327ef3877977e279eb13c8 \
0004d9c34a">https://github.com/felipesanches/freetype2/commit/ae9b909a327ef3877977e279eb13c80004d9c34a</a><br><br></div><div>The \
remaining commits in that repo contain a few of the error/warning DIAGNOSTICS macro \
calls. The rest of HinTak&#39;s original patches were not published yet, but would be \
handy now so that we can integrate them as well. The above-mentioned code changes \
address all issues that were originally brought up (the couple global vars and usage \
of enums instead of text \
strings).<br></div><div><br></div><div>Cheers,<br></div><div>Felipe \
Sanches<br></div><div><br></div></div><div class="gmail_extra"><br><div \
class="gmail_quote">2017-09-11 14:20 GMT-03:00 Felipe Sanches <span dir="ltr">&lt;<a \
href="mailto:juca@members.fsf.org" \
target="_blank">juca@members.fsf.org</a>&gt;</span>:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr"><div><div>All the testing of this was done \
with this minimalist C client for the proposed diagnostics API:<br><a \
href="https://github.com/felipesanches/HintingDebugger" \
target="_blank">https://github.com/<wbr>felipesanches/HintingDebugger</a><br><br></div>Happy \
Hacking,<br></div>Felipe Sanches<br></div><div class="HOEnZb"><div class="h5"><div \
class="gmail_extra"><br><div class="gmail_quote">2017-09-11 11:57 GMT-03:00 Felipe \
Sanches <span dir="ltr">&lt;<a href="mailto:juca@members.fsf.org" \
target="_blank">juca@members.fsf.org</a>&gt;</span>:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hello, \
Werner,<br><br></div>I&#39;ve moved the diagnostics callback field into \
FT_Face_Internal.<br>The current proposal to fix to the globals issue is the \
aggregate of the following 2 commits:<br><br><a \
href="https://github.com/felipesanches/freetype2/commit/dac77c3aeebbf2eee1647d3b95f5b5e3bf9d2db0" \
target="_blank">https://github.com/felipesanch<wbr>es/freetype2/commit/dac77c3aee<wbr>bbf2eee1647d3b95f5b5e3bf9d2db0</a><br><a \
href="https://github.com/felipesanches/freetype2/commit/51ec98b528b395af25f03e8b3824964feaa5a89e" \
target="_blank">https://github.com/felipesanch<wbr>es/freetype2/commit/51ec98b528<wbr>b395af25f03e8b3824964feaa5a89e</a><br><br></div>Please \
let me know if that&#39;s a good way of addressing the \
issue.<br><br></div>Cheers,<br></div>Felipe Sanches<br></div><div \
class="m_2214278867237479620HOEnZb"><div class="m_2214278867237479620h5"><div \
class="gmail_extra"><br><div class="gmail_quote">2017-09-09 3:08 GMT-03:00 Felipe \
Sanches <span dir="ltr">&lt;<a href="mailto:juca@members.fsf.org" \
target="_blank">juca@members.fsf.org</a>&gt;</span>:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Cool, thanks for the quick feedback! I&#39;ll \
see what   can do about it ;-)<br></div><div \
class="m_2214278867237479620m_8610682025346980468HOEnZb"><div \
class="m_2214278867237479620m_8610682025346980468h5"><div \
class="gmail_extra"><br><div class="gmail_quote">2017-09-09 3:05 GMT-03:00 Werner \
LEMBERG <span dir="ltr">&lt;<a href="mailto:wl@gnu.org" \
target="_blank">wl@gnu.org</a>&gt;</span>:<br><blockquote class="gmail_quote" \
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br> &gt; \
I have adapted HinTak&#39;s b06 patch to address the globals usage issue<br> &gt; \
that was originally brought up by Behdad.   He had suggested moving<br> &gt; those \
globals to FT_Library, but I did place the diagnostics<br> &gt; callback into the \
FT_Face struct, instead. Let me know if that&#39;s<br> &gt; good.<br>
<br>
</span>No time to look right now.   However, FT_Face is a public structure and<br>
thus taboo – you *must not* modify it!   Use FT_Face_Internal instead.<br>
<span class="m_2214278867237479620m_8610682025346980468m_-4949582160156653876HOEnZb"><font \
color="#888888"><br> <br>
     Werner<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>



_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic