HinTak / Font-Validator

Font Validator is a tool for testing fonts prior to release. This testing ensures that fonts meet Microsoft's high quality standards and perform exceptionally well on Microsoft's platform.
Other
146 stars 12 forks source link

Migrate to python 3 #67

Open HinTak opened 3 years ago

HinTak commented 3 years ago

Switch over to iron python 3

Pomax commented 3 years ago

Given that iron python 3 very explicitly says not to use it, I'd recommend using regular python 3.9 instead? Unless you're on the iron python 3 team, of course. In which case: good luck.

HinTak commented 3 years ago

Okay, I haven't been following the ironpython development. They released another 2.7.x a few months ago so it is still going. I know cpython 2.x is already end-of-line so moving to 3.x needs to happen at some point.

Afaik I am the only one who uses the ironpython stuff - it is really just a convenient way of setting all the many available options in the GUI for command-line use .

For historical reason - mainly to test against the old proprietary MS fscaler backend, I stayed with 2.6 (the last one usable under the much smaller .net2). This is somewhat related to #65 .

Pomax commented 3 years ago

Yeah, it's a bit odd that it didn't switch to python 3 prior to the official abandonment of python 2.7 in January of last year. I can understand needing more time to get 3.x kinks worked out, but releasing a new 2.7 release well after 2.7 got killed by the Python foundation is quite curious.

There might be better .net integration for python 3 these days though, I see http://pythonnet.github.io/ exists, which might be an option?

HinTak commented 3 years ago

Hmm, I don't need/want dotnet 4. I want a scripting interface to the proprietary fscaler backend (which still runs under net2) for testing purposes - until/unless the two mono bugs get fixed, then I can just use csharp in a scripting REPL manner.

The point isn't really about having python for the sake of having python, but simplest / smallest / least painful scriptable interface to the older proprietary backend...

Pomax commented 3 years ago

that's fair enough, there might still be something decent out there that isn't ironpython. The main risk of 2.7 is that it's been out of support for so long now that it's basically a potential security hole =/

HinTak commented 3 years ago

Mono ships a REPL C# interpreter, except the proprietary backend does not work with mono (either win32 mono or wine-mono, wine's emulation of dotnet runtime).

HinTak commented 3 years ago

Just worth mentioning, it is not well-advertised, but there is a "official" python binding to FontVal freetype backend - it is mostly a single script examples/font-diag.py in the fontval-diag branch of my fork of freetype-py ; I just updated it to work with (c)python 3 (and likely broke cpython 2 support on the way, I'll restore it later if needed).