Skip to content

fontTools/merge/base.py: AttributeError: type object 'VarStore' has no attribute 'mergeMap' #918

@sdas92

Description

@sdas92

Defect Report

Title

fontTools/merge/base.py: AttributeError: type object 'VarStore' has no attribute 'mergeMap'

Font

Merging Fonts fails due to fontTool's attribute error.

Where the font came from, and when

https://fonts.google.com/noto

Font Version

N/A

OS name and version

Linux Mint, Python3.12 (also tried on Python3.9)

Application name and version

Tried main branch and latest release too

Issue

Summarize the issue briefly -- AttributeError: type object 'VarStore' has no attribute 'mergeMap'

  1. Steps to reproduce

PYTHONPATH='/usr/lib/python3/dist-packages/nototools' python3 merge-fonts.py -d toBeMerged/ -o NotoSansMerged.ttf

  1. Observed results

Merging 8 Fonts...
Traceback (most recent call last):
File "/home/somnath/myContents/softwares/fonts/merge-fonts.py", line 142, in
main()
File "/home/somnath/myContents/softwares/fonts/merge-fonts.py", line 124, in main
font = merger.merge(valid_files)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/fontTools/merge/init.py", line 117, in merge
table = clazz(tag).merge(self, tables)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/fontTools/merge/base.py", line 79, in merge
return m.mergeObjects(self, self.mergeMap, tables)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/fontTools/merge/init.py", line 154, in mergeObjects
value = mergeLogic(getattr(table, key, NotImplemented) for table in tables)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/fontTools/merge/base.py", line 61, in mergeObjects
value = mergeLogic(getattr(table, key, NotImplemented) for table in lst)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/fontTools/merge/base.py", line 44, in mergeObjects
logic = clazz.mergeMap
^^^^^^^^^^^^^^

  1. Expected results

Should have been merged

  1. Additional information

Not a problem of nototools itself, it is from fontTool's base.py which doesnot have an attribute named: clazz.mergeMap

Character data

N/A

Screenshot

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions