I checked out your new fonts, and sadly have to report that only the Regular is looking nicely as it should, while the Bold shows a semi-transparent (see joints) black outline. See below.
Please keep this issue open until everything is resolved. Thank you.
>> com.google.fonts/check/smart_dropout
Font enables smart dropout control in "prep" table instructions?
with ReemKufiInk-Bold.ttf
Rationale:
This setup is meant to ensure consistent rendering quality for fonts
across all devices (with different rendering/hinting capabilities).
Below is the snippet of instructions we expect to see in the fonts:
B8 01 FF PUSHW 0x01FF
85 SCANCTRL (unconditinally turn on
dropout control mode)
B0 04 PUSHB 0x04
8D SCANTYPE (enable smart dropout control)
"Smart dropout control" means activating rules 1, 2 and 5:
Rule 1: If a pixel's center falls within the glyph outline,
that pixel is turned on.
Rule 2: If a contour falls exactly on a pixel's center,
that pixel is turned on.
Rule 5: If a scan line between two adjacent pixel centers
(either vertical or horizontal) is intersected
by both an on-Transition contour and an off-Transition
contour and neither of the pixels was already turned on
by rules 1 and 2, turn on the pixel which is closer to
the midpoint between the on-Transition contour and
off-Transition contour. This is "Smart" dropout control.
For more detailed info (such as other rules not enabled in this snippet),
please refer to the TrueType Instruction Set documentation.
FAIL The 'prep' table does not contain TrueType
instructions enabling smart dropout control. To fix, export the font
with autohinting enabled, or run ttfautohint on the font, or run the
gftools fix-nonhinting script. [code: lacks-smart-dropout]
Result: FAIL
>> com.google.fonts/check/smart_dropout
Font enables smart dropout control in "prep" table instructions?
with ReemKufiInk-Regular.ttf
Rationale:
This setup is meant to ensure consistent rendering quality for fonts
across all devices (with different rendering/hinting capabilities).
Below is the snippet of instructions we expect to see in the fonts:
B8 01 FF PUSHW 0x01FF
85 SCANCTRL (unconditinally turn on
dropout control mode)
B0 04 PUSHB 0x04
8D SCANTYPE (enable smart dropout control)
"Smart dropout control" means activating rules 1, 2 and 5:
Rule 1: If a pixel's center falls within the glyph outline,
that pixel is turned on.
Rule 2: If a contour falls exactly on a pixel's center,
that pixel is turned on.
Rule 5: If a scan line between two adjacent pixel centers
(either vertical or horizontal) is intersected
by both an on-Transition contour and an off-Transition
contour and neither of the pixels was already turned on
by rules 1 and 2, turn on the pixel which is closer to
the midpoint between the on-Transition contour and
off-Transition contour. This is "Smart" dropout control.
For more detailed info (such as other rules not enabled in this snippet),
please refer to the TrueType Instruction Set documentation.
FAIL The 'prep' table does not contain TrueType
instructions enabling smart dropout control. To fix, export the font
with autohinting enabled, or run ttfautohint on the font, or run the
gftools fix-nonhinting script. [code: lacks-smart-dropout]
Result: FAIL
>> com.google.fonts/check/family/win_ascent_and_descent
Checking OS/2 usWinAscent & usWinDescent.
with ReemKufiInk-Bold.ttf
Rationale:
A font's winAscent and winDescent values should be greater than the head
table's yMax, abs(yMin) values. If they are less than these values,
clipping can occur on Windows platforms
(https://github.com/RedHatBrand/Overpass/issues/33).
If the font includes tall/deep writing systems such as Arabic or
Devanagari, the winAscent and winDescent can be greater than the yMax and
abs(yMin) to accommodate vowel marks.
When the win Metrics are significantly greater than the upm, the
linespacing can appear too loose. To counteract this, enabling the OS/2
fsSelection bit 7 (Use_Typo_Metrics), will force Windows to use the OS/2
typo values instead. This means the font developer can control the
linespacing with the typo values, whilst avoiding clipping by setting the
win values to values greater than the yMax and abs(yMin).
FAIL OS/2.usWinDescent value should be equal or greater
than 700, but got 400 instead. [code: descent]
Result: FAIL
>> com.google.fonts/check/valid_glyphnames
Glyph names are all valid?
with ReemKufiInk-Bold.ttf
Rationale:
Microsoft's recommendations for OpenType Fonts states the following:
'NOTE: The PostScript glyph name must be no longer than 31 characters,
include only uppercase or lowercase English letters, European digits, the
period or the underscore, i.e. from the set [A-Za-z0-9_.] and should start
with a letter, except the special glyph name ".notdef" which starts with a
period.'
https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table
In practice, though, particularly in modern environments, glyph names can
be as long as 63 characters.
According to the "Adobe Glyph List Specification" available at:
https://github.com/adobe-type-tools/agl-specification
FAIL The following glyph names do not comply with naming
conventions: hamza-ar, highhamza-ar, alef-ar, alef-ar.1, alef-ar.2,
alef-ar.3, alef-ar.fina, alef-ar.fina.Lam, alef-ar.fina.Lam.1,
behDotless-ar and 349 more.
Use -F or --full-lists to disable shortening of long lists.
A glyph name must be entirely comprised of characters from the
following set: A-Z a-z 0-9 .(period) (underscore). A glyph name must
not start with a digit or period. There are a few exceptions such as
the special glyph ".notdef". The glyph names "twocents", "a1", and ""
are all valid, while "2cents" and ".twocents" are not. [code:
found-invalid-names]
Result: FAIL
>> com.google.fonts/check/family/win_ascent_and_descent
Checking OS/2 usWinAscent & usWinDescent.
with ReemKufiInk-Regular.ttf
Rationale:
A font's winAscent and winDescent values should be greater than the head
table's yMax, abs(yMin) values. If they are less than these values,
clipping can occur on Windows platforms
(https://github.com/RedHatBrand/Overpass/issues/33).
If the font includes tall/deep writing systems such as Arabic or
Devanagari, the winAscent and winDescent can be greater than the yMax and
abs(yMin) to accommodate vowel marks.
When the win Metrics are significantly greater than the upm, the
linespacing can appear too loose. To counteract this, enabling the OS/2
fsSelection bit 7 (Use_Typo_Metrics), will force Windows to use the OS/2
typo values instead. This means the font developer can control the
linespacing with the typo values, whilst avoiding clipping by setting the
win values to values greater than the yMax and abs(yMin).
FAIL OS/2.usWinDescent value should be equal or greater
than 700, but got 400 instead. [code: descent]
Result: FAIL
>> com.google.fonts/check/valid_glyphnames
Glyph names are all valid?
with ReemKufiInk-Regular.ttf
Rationale:
Microsoft's recommendations for OpenType Fonts states the following:
'NOTE: The PostScript glyph name must be no longer than 31 characters,
include only uppercase or lowercase English letters, European digits, the
period or the underscore, i.e. from the set [A-Za-z0-9_.] and should start
with a letter, except the special glyph name ".notdef" which starts with a
period.'
https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table
In practice, though, particularly in modern environments, glyph names can
be as long as 63 characters.
According to the "Adobe Glyph List Specification" available at:
https://github.com/adobe-type-tools/agl-specification
FAIL The following glyph names do not comply with naming
conventions: hamza-ar, highhamza-ar, alef-ar, alef-ar.1, alef-ar.2,
alef-ar.3, alef-ar.fina, alef-ar.fina.Lam, alef-ar.fina.Lam.1,
behDotless-ar and 388 more.
Use -F or --full-lists to disable shortening of long lists.
A glyph name must be entirely comprised of characters from the
following set: A-Z a-z 0-9 .(period) (underscore). A glyph name must
not start with a digit or period. There are a few exceptions such as
the special glyph ".notdef". The glyph names "twocents", "a1", and ""
are all valid, while "2cents" and ".twocents" are not. [code:
found-invalid-names]
Result: FAIL