<div dir="ltr">Ops, <a href="https://github.com/behdad/harfbuzz/pull/134">here</a> is the actual patch.<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 11, 2015 at 10:41 AM, Ebrahim Byagowi <span dir="ltr"><<a href="mailto:ebraminio@gmail.com" target="_blank">ebraminio@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi. I have developing a dwrite backend for HarfBuzz. It is still far from prefect, I just thought it maybe worth to be shared but it has at least these main issues which I hope would be fixed with your help:<div><ul><li>A lot of parts of TextAnalysis is copied from <a href="https://github.com/mozilla-services/services-central-legacy/blob/master/gfx/thebes/gfxDWriteTextAnalysis.cpp" target="_blank">this</a> which seems added on this <a href="https://github.com/mozilla-services/services-central-legacy/commit/dcdb088a1041a41c819885c4d52dfff32d8fc440" target="_blank">patch</a> and is MPL licensed. I hope Bas can grant the use and re-licensing of it for developing HarfBuzz.<br></li><li>I couldn't find a way to access dwrite specific headers from cygwin/mingw/msys2 and am using a <a href="https://github.com/ebraminio/glcourse/blob/master/harfbuzz.cmake" target="_blank">cmake build configuration</a> for using dwrite on Visual Studio. I think if we "GetProcAddress" it like what we do for uniscribe backend when we decided which things we need here, but well, it is going to be more painful than that even I'd guess</li><li>It just work when font is set on 32 point :)</li><li>It doesn't support font features configuration</li><li>It uses DirectWrite GDI Interop instead <a href="https://github.com/servo/skia/blob/master/src/utils/win/SkDWriteFontFileStream.h" target="_blank">IDWriteFontFileStream</a> for loading the font (and many parts of the patch is actually copied from uniscribe backend)</li><li>It may has some more minor and major issues which I didn't remember to note :)</li></ul><div>While I am not a Windows programmer and also also not being familiar with DirectWrite and even DirectX development, the motivation for me was just to have access to DirectWrite specific capabilities (explicitly, <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/hh994452(v=vs.85).aspx#Justification" target="_blank">Kashida justification</a>) in hope the features would be developed inside harfbuzz someday (this can be accessed on Uniscribe backend, <a href="https://maxradi.us/documents/uniscribe/#ScriptJustify" target="_blank">ScriptJustify</a> which I probably would dig more if I see there would not any possible progress on this approach). This patch is far from prefect but I just hoped this would be useful for someone someday or would be merged on HarfBuzz :)</div></div></div>
</blockquote></div><br></div></div>