Windows-Unterstützung: .bat-Skripte, Font-Werkzeuge in Python
- libs/glyphextract.py ersetzt die grep/sed/bc-Logik von extract-glyph.sh, extract-font.sh und fonttest.sh (die .sh rufen es nur noch auf); schreibt FONTNAME= und <font>.cfg nach $PICCREATE_OUT - bin/*.bat: setenv, piccreate, svgconvert, webscan, extract-glyph, extract-font, fonttest, setup-venv; .gitattributes für CRLF - piccreate.py: Hintergrund als file:// URL (Windows-Pfade) - svgconvert.py: magick statt convert, Configs/CSV als UTF-8 - webscan.py: Installationshinweise für Windows - doc/README.md: Abschnitt Windows, Font-Werkzeuge aktualisiert Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
4897883938
commit
29c066b45a
+18
-6
@@ -37,6 +37,10 @@ INSTALL_HINTS = {
|
||||
export PICCREATE_BROWSER=/usr/bin/chromium
|
||||
or the Playwright browser:
|
||||
{venv}/bin/playwright install chromium''',
|
||||
'windows': r'''Windows (or simply run bin\setup-venv.bat):
|
||||
py -m venv {venv}
|
||||
{venv}\Scripts\pip install -r {project}\requirements.txt
|
||||
{venv}\Scripts\playwright install chromium''',
|
||||
}
|
||||
|
||||
BROWSER_HINTS = {
|
||||
@@ -48,11 +52,16 @@ BROWSER_HINTS = {
|
||||
export PICCREATE_BROWSER=/usr/bin/chromium
|
||||
or the Playwright browser:
|
||||
{venv}/bin/playwright install chromium''',
|
||||
'windows': r'''Windows:
|
||||
{venv}\Scripts\playwright install chromium''',
|
||||
}
|
||||
|
||||
|
||||
def linux_distro():
|
||||
''' liefert 'ubuntu' oder 'arch' (aus /etc/os-release), sonst None '''
|
||||
def platform_name():
|
||||
''' liefert 'windows', 'ubuntu' oder 'arch' (aus /etc/os-release),
|
||||
sonst None '''
|
||||
if sys.platform == 'win32':
|
||||
return 'windows'
|
||||
try:
|
||||
with open('/etc/os-release', encoding='utf-8') as fh:
|
||||
info = dict(line.rstrip('\n').split('=', 1) for line in fh if '=' in line)
|
||||
@@ -67,10 +76,13 @@ def linux_distro():
|
||||
|
||||
|
||||
def print_hint(hints):
|
||||
''' gibt die Installationshinweise für diese Distribution aus
|
||||
(bei unbekannter Distribution alle) '''
|
||||
distro = linux_distro()
|
||||
keys = [distro] if distro in hints else sorted(hints)
|
||||
''' gibt die Installationshinweise für dieses System aus
|
||||
(bei unbekanntem Linux die für alle Linux-Distributionen) '''
|
||||
distro = platform_name()
|
||||
if distro in hints:
|
||||
keys = [distro]
|
||||
else:
|
||||
keys = sorted(k for k in hints if k != 'windows')
|
||||
for key in keys:
|
||||
print(hints[key].format(venv=VENV, project=PROJECT_DIR), file=sys.stderr)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user