Arabic diacritics misplaced in the exported variable font


The Arabic diacritics are misplaced in the VF but it works well in the single-weight OTF.

Are the mark or any of the components in the glyph themselves made up of components? Using these so-called nested components can cause problems in TTF exports (like VF).

Indeed. There are some diacritics which are made of other components.
Would you suggest me to decompose all components before exporting as VF?

It’s work! Thanks!

You don’t need to decompose all components – that makes the file size much bigger. What you can do is find all nested components and only decompose those. I can write you a script for those later today

O! Thank you for this! Please send me that! :smiley: :laughing:

Hey, sorry, I was on holiday. Here’s the script:

nested_component_layers = []
for glyph in Font.glyphs:
	for layer in glyph.layers:
		if not layer.components:
			continue
		for component in layer.components:
			component_glyph = component.component
			for component_layer in component_glyph.layers:
				if component_layer.components:
					nested_component_layers.append(layer)

if len(nested_component_layers) > 0:
	Font.newTab(nested_component_layers)
else:
	Message(title="All good!", message="No nested component layers found.")

Paste it in the Macro window and run it. It will print a tab with all layers that include components that themselves are made up of one or more components. You can select all these layers and decompose them before export, if you like (don’t save your file afterwards).

1 Like

Thank you for this!
It is actually working!
Thank you for your help.