Control: tag -1 +help

This issue is currently at a standstill: seemingly the used helper tool
gftools at its core rely on network access to infuse subsets from other
font sources during compilation of a font. Help figuring out how to
build Noto fonts offline (with gftools or bypassing it) is much
appreciated.

This is the kind of error I get:

python3 -m notobuilder sources/config-sans-chorasmian.yaml
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs 
source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib.builder:Running 'align_alternate_layers' transformation
INFO:glyphsLib.builder:Running 'propagate_all_anchors' transformation
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class 
public.kern1.small_aleph-chor.calt0 found in kerning rules.
INFO:fontmake.font_project:Saving 
/build/fonts-noto-chorasmian-1.004+ds/sources/NotoSansChorasmian.designspace
INFO:fontmake.font_project:Saving 
/build/fonts-noto-chorasmian-1.004+ds/sources/NotoSansChorasmian-Regular.ufo.json
INFO:fontmake.font_project:Loading 1 DesignSpace source UFOs
[1/8] instantiateUfo
fontmake -i Noto Sans Chorasmian Regular -o ufo -m 
NotoSansChorasmian.designspace --ufo-structure=json --output-dir instance_ufos
[2/8] addSubset
FAILED: [code=1] full-designspace/NotoSansChorasmian.designspace 
/usr/bin/python3 -m gftools.builder.jobrunner gftools-add-ds-subsets 
--allow-sparse -j -y /tmp/tmpos9euuc_ -o 
full-designspace/NotoSansChorasmian.designspace NotoSansChorasmian.designspace 

Command failed:
gftools-add-ds-subsets --allow-sparse -j -y /tmp/tmpos9euuc_ -o 
full-designspace/NotoSansChorasmian.designspace NotoSansChorasmian.designspace

INFO:gftools.subsetmerger:Downloading notofonts/latin-greek-cyrillic main
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 204, in 
_new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in 
create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/socket.py", line 977, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
               ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in 
urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in 
_make_request
    raise new_e
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in 
_make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, 
in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 759, in 
connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 211, in 
_new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: HTTPSConnection(host='github.com', 
port=443): Failed to resolve 'github.com' ([Errno -3] Temporary failure in name 
resolution)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 644, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in 
urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 535, in 
increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: 
ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='github.com', 
port=443): Max retries exceeded with url: 
/notofonts/latin-greek-cyrillic/archive/main.zip (Caused by 
NameResolutionError("HTTPSConnection(host='github.com', port=443): Failed to 
resolve 'github.com' ([Errno -3] Temporary failure in name resolution)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/gftools-add-ds-subsets", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/lib/python3/dist-packages/gftools/scripts/add_ds_subsets.py", line 
168, in main
    ).add_subsets()
      ~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/gftools/subsetmerger.py", line 318, in 
add_subsets
    added_subsets |= self.add_subset(input_descriptor, subset)
                     ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gftools/subsetmerger.py", line 342, in 
add_subset
    donor_ufo = self.obtain_upstream(subset["from"], input_descriptor)
  File "/usr/lib/python3/dist-packages/gftools/subsetmerger.py", line 405, in 
obtain_upstream
    self.download_for_subsetting(repo, ref)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gftools/subsetmerger.py", line 500, in 
download_for_subsetting
    repo_zip = ZipFile(download_file(repo_zipball))
                       ~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gftools/utils.py", line 243, in 
download_file
    request = requests.get(url, stream=True, headers=headers)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in 
request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 677, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='github.com', 
port=443): Max retries exceeded with url: 
/notofonts/latin-greek-cyrillic/archive/main.zip (Caused by 
NameResolutionError("HTTPSConnection(host='github.com', port=443): Failed to 
resolve 'github.com' ([Errno -3] Temporary failure in name resolution)"))

[3/8] buildTTF
fontmake --output-path 
../fonts/NotoSansChorasmian/unhinted/ttf/NotoSansChorasmian-Regular.ttf -o ttf 
-u instance_ufos/NotoSansChorasmian-Regular.ufo.json --filter ... --filter 
FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter
ninja: build stopped: subcommand failed.
make[1]: *** [debian/rules:7: override_dh_auto_build] Error 1


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/
 * Sponsorship: https://ko-fi.com/drjones

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature

Reply via email to