Giter Club home page Giter Club logo

reem-kufi's People

Contributors

dependabot[bot] avatar drdrsh avatar khaledhosny avatar m4rc1e avatar philipzae avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reem-kufi's Issues

Dots of medial ت’s clash

A medial ت followed by another one have there dots almost touched. I think we need a wider alternate here:
a

letter overlap

just write الشيخ and take a look at how the letters overlap.

reem-kufi incorrect appearance in Chrome

[email protected] reports in https://bugs.chromium.org/p/chromium/issues/detail?id=1170733#c16:

I tried a COLRv1 typeface in Chrome 98 on Mac Big Sur with the flag enabled and it just appears as solid black. https://github.com/aliftype/reem-kufi/blob/colr-v1/ReemKufiInk-Regular.ttf
I checked this font in Font Goggles software and it has a lovely gradient.

My take:
If it looks okay in an older version of FontGoogles before BlackFoundryCom/black-renderer#35 was closed, then it may mean that the reem-kufi font is not produced with the latest spec changes.

It seems to work for me with Chrome built from tip of tree, COLRv1 enabled:

kufi

I am not 100% sure what's the expected appearance but this looks like the font is built according to the latest spec and renders ok.

It's still important to use the latest Chrome Canary with the flag enabled. Any older versions are not expected to work 100% robustly.

My Cyrillic characters implementation

I really wanted to thank you for this wonderful font, which I now have as my main system font on my phone. It looks incredible! 🤩
I was a little upset by the fact that such a cool font has no Cyrillic support and some time ago I decided to add Cyrillic character support to it, and here are some of my workings:
image
image

If you want, I can give you my workings for further polishing, and possibly releasing them as an official. That would be extremely cool!

Reem Kufi font not working

I installed the latest version of Reem Kufi (Windows 10), but the font itself won't print/appear on screen in Microsoft apps. Windows says that the font is installed (see screenshot 1), but selecting the font in apps just results in what appears to be Arial, in both Word (Screenshot 2) and Paint (Screenshot 3). In Acrobat (Screenshot 4) it actually works.

screenshot1

screenshot2

screenshot3

screenshot4

Preparing Reem Kufi Ink for Google Fonts

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.

Bildschirmfoto 2022-04-13 um 10 43 04

Bildschirmfoto 2022-04-13 um 10 43 10

Also, the following fontbakery fails are relevant:

 >> 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

RFN?

I note that the OFL file mentions that the font has a Reserved Font Name, but the line says, 'Reserved Font Name "Josefin Sans".' There is no mention of an RFN in the file name table.

Does the font have an RFN? If so, the OFL.txt file should be updated.

Characters Have No Unicode Hex Values + Unity Issue

Basically, I'm trying to make "ReemKufi-Regular.otf" work in Unity on Windows.

I tried adding this font in two methods:
1- Using the default Unity UI + Arabic Support plugin.
2- Using TextMeshPro plugin.
In both cases, however, Reem Kufi doesn't work.

sprite-0004
(Reem Kufi compared to Cairo in Unity)

Here's what I think is the issue:

I opened ReemKufi-Regular.otf in FontForge and in FontLab, but none of the main Arabic letters had any unicode hex values. I think these unicode hex values are needed for Unity to display the font.

Notice the question marks in these two images:

sprite-0002
(FontForge)

sprite-0003
(FontLab)

TTF

Please provide a TTF, needed for web font usage :)

nanoemoji glyphmap.csv added additional column, breaks mkglyphmap.py

Heads up, in the latest nanoemoji we needed to modify the format of the glyphmap.csv file to accommodate for hybrid vector+bitmap color fonts (with both COLR, OT-SVG and CBDT tables), thus we added a column for the .PNG sources. The expected format is now

svg_file, png_file, glyph_name, codepoints*

Either the first or the second filenames can be left empty depending on whether it's vector-only, bitmap-only or hybrid.

My Cyrillic characters implementation (Duplicate, please delete)

I really wanted to thank you for this wonderful font, which I now have as my main system font on my phone. It looks incredible! 🤩
I was a little upset by the fact that such a cool font has no Cyrillic support and some time ago I decided to add Cyrillic character support to it, and here are some of my workings:
image
image

If you want, I can give you my workings for further polishing, and possibly releasing them as an official. That would be extremely cool!

Three Arabic letters doesn't exist in the font design

Hi Pal,

The font design doesn't have very important three Arabic letters...

  1. ى - (Ya) - Is same as { ي } BUT without dots at the bottom and this letter always come at the end of the word. - Example { أقصى }

  2. ئ - Is same as { ى } BUT it has { Hamza } above - Example { سيئ }

  3. ة - (Circled - Ta) Is same as { ه } BUT it has two dots above - Example { شجرة }

Example Image

Thanks for your great font.

Reem Kufi Fun missing SVG table

Me again, sorry.

Please integrate maximum_color of the nanoemoji package into your build setup to expand the COLR table into an SVG table and provide us with a new binary.

Thank you.

Empty GID 1 for Reem Kufi Fun

As recently discovered, Windows 10 renders whatever glyph is in GID 1 on top of colored glyphs, see googlefonts/gftools#609.

Therefore we need to update Reem Kufi Fun. Since no one wants to add the NULL glyph in that position as per Microsoft’s outdated specs, it is customary now to put the space character into that position.

I could make a hotfix for the binary font for Google Fonts, but it would be better overall if you incorporated that into your build process and supplied us with a new binary.

Thank you.

Add vowel marks

جربت استخدام الخط في أسماء سور القرآن بحسب الكود الذي وضعته أخي خالد في ملف
build_html.py
لكن واضح أن بعض أسماء السور لم تعرض بصورة صحيحة بسبب غياب بعض المحارف مثل
uni06E1, uni0670, ...

Prepare Reem Kufi Color for Google Fonts

Hi Khaled,

the Ink TTF fonts in this repo don't render als COLRv1 at all, only b/w.
Your build process is too unknown for me to be able to dig in, so I need to ask you to please investigate this and update the files as necessary.

Thank you

Add Basmala u+FDFD character

@khaledhosny The Basmala u+FDFD isn't in the font.
http://www.decodeunicode.org/u+FDFD
It's part of 'Arabic Presentation Forms A' which has common liturgical phrases.
https://en.wikipedia.org/wiki/Arabic_script_in_Unicode
Perhaps you can add it or have the character sequence as an example in the README, as I am not sure how it is written.
For those not knowing what it represents, it's the used in the recitation of the Quran, the arabic phrase means "In the name of God, the Most Gracious, the Most Merciful"
https://en.wikipedia.org/wiki/Basmala

Cropped vowels

Was trying out the new vowelled version of reem with some sample text and noticed that some were going to high when inside a table and were being cropped. This was with single line spacing

reem kufi vowels

top row is how the vowels looked cropped when scrolling up and down in a document and bottom row is when alt+tabbing into LO from another app.

Update Latin

Josefin Sans was massively updated since it was included into this project, so can be updated :)

Add Arabic Character

Assalamualaikum. Hello developer, i'm from indonesia.
I'd like to add some arabic character for writing pegon/jawi arabic, the character is ڮ (ARABIC LETTER KAF WITH THREE DOTS BELOW UNICODE: U+06AE).
Thanks

Missing Arabic full stop U+06D4

We are seeing tofu on the fonts.google.com Reem Kufi, Reem Kufi Ink, and Reem Kufi Fun type tester text previews that include the Arabic full stop (U+06D4) glyph.

reemkufi

reemkufifun

reemkufiink

Is this glyph intentionally absent from the glyph set? If not, is it possible to include support in a new release?

Default to more modern variants

Some glyphs use rather archaic Kufi variants, but now I think for better usability of the font the defaults should be more modern and the archaic ones be optional.

Support Arabic Presentation Forms

I have a problem trying to use your font Reem-Kufi,
It's an Embedded project in C.
and I am converting the .ttf font file to .c file using an online converter.
The problem is that I can't find the Arabic Presentation Forms-B Unicode ranges "0xFE70-0xFEFF" In the .ttf file.
This is the range responsible for the different writings of the Arabic letters.
so I am only able to write individual letters
" أ ه ل ا"
not a whole word
"أهلا"
when checking the font.ttf at fontdrop website.
it shows the glyphs but with Unicode none.

image

where the individual letters have a valid Unicode ranged 0x0600-0x06FF.

image

The thing is that all of the online websites are able to recognize the font despite that.

image

all of the screenshots are from the FontDrop website mentioned earlier.
So how does this work?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.