Giter VIP home page Giter VIP logo

Comments (6)

MatthiasValvekens avatar MatthiasValvekens commented on June 7, 2024

from pyhanko.

ilpadrinohack avatar ilpadrinohack commented on June 7, 2024

Hi Matthias, thanks for your early reply. You are right, as always :).
In opentype.py, in def _read_ps_name(tt: ttLib.TTFont) -> str: function:

fails when:

       `if nr.encodingIsUnicodeCompatible():   
                    ps_name = nr.string.decode('utf-16be')` 

due to encoding setting.

Commenting the if statement, works only with a few fonts.

from pyhanko.

MatthiasValvekens avatar MatthiasValvekens commented on June 7, 2024

from pyhanko.

MatthiasValvekens avatar MatthiasValvekens commented on June 7, 2024

I just pushed a (potential) fix (don't worry about the GH action "failure", that's Codecov complaining because I deleted a line of covered code). Apparently fontTools already solved this problem, it was a matter of calling .toUnicode() on the name records retrieved from fontTools directly. Do you still see an error with name decoding?

Note: It's somewhat likely that other issues will appear with "traditional" (i.e. non-OTF) TTF fonts. I'm not much of a font expert, so I'm not aware of the "quirks" that real-world fonts can have, and it's possible that I messed up some font metric computations here and there. Please create new issues for those (if you find any), and if possible, try to reproduce them with fonts that are permissively licensed (e.g. SIL OFL or equivalent). The licensing thing is a necessity for regression tests. :)

from pyhanko.

ilpadrinohack avatar ilpadrinohack commented on June 7, 2024

Fixed. You are great. Tested with different fonts and all of them working.

Great job Matthias.
Thanks in advance

from pyhanko.

MatthiasValvekens avatar MatthiasValvekens commented on June 7, 2024

Happy to help. Thanks for reporting back!

from pyhanko.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.