Recursive: рдореЛрдиреЛ . рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рджрд┐рд╕ре░ 2020  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: arrowtype/recursive

рд╕рдорд╕реНрдпрд╛ рд╡рд┐рд╡рд░рдг
рд╣рд╛рд▓ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде, рдлрд╝реЙрдиреНрдЯ рдиреЗ рдореЛрдиреЛ рдлрд╝реЙрдиреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЦреЛ рджрд┐рдпрд╛ рд╣реИред рдХреБрдЫ рджреЗрд╡ рдРрдкреНрд╕ рдореЛрдиреЛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдиреЗ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ

рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Microsoft SQL рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрди рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЪрдпрдирдХрд░реНрддрд╛ рдореЗрдВ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ
image

рдЖрдИрдмреАрдПрдХреНрд╕ рдкреНрд▓реЗрдХреНрд╕ рдореЛрдиреЛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдРрдк рдЗрд╕ рддрд░рд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ
image

рдкрд░реНрдпрд╛рд╡рд░рдг (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ):

  • рдлрд╝реЙрдиреНрдЯ рд╕рдВрд╕реНрдХрд░рдг: 1.069
  • рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬ 10

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ #370 . рдХреЗ рд╕рдорд╛рди рд╣реА рд▓рдЧрддрд╛ рд╣реИ

рдореБрдЭреЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛ред

рд╣рдореНрдо, рдпрд╣ 1.069 рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдирдП рд╕рдВрдпреБрдХреНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реБрд▓рдЭрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрд╕рдХреЗ рдмрд╛рдж рдЗрд╕ ASAP рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рднреАрддрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрдбреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рдж рдпрд╛рд░, рдФрд░ рдЦреБрд╢ рдЫреБрдЯреНрдЯрд┐рдпрд╛рдБ ЁЯШЙ

рдареАрдХ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рд╣реИ - рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЗрд╕реЗ рдПрдХ рдореЛрдиреЛрд╕реНрдкреЗрд╕ рдлрд╝реЙрдиреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред

post рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдпрд╣ 1 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

<isFixedPitch value="0"/>

OS/2 , рдпрд╣ 600 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

<xAvgCharWidth value="599"/>

OS/2 рдкреИрдиреЛрдЬрд╝ рдкреНрд░реЛрдкрд╢рди рдорд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рд╣реИ:

<bProportion value="9"/>

hhea рд▓рд┐рдП advanceWidthMax рдХрд╛ рдорд╛рди рднреА рд╕рд╣реА рд╣реИ:

<advanceWidthMax value="600"/>

(рдореБрдЭреЗ рдпреЗ рдкрд░рд┐рдгрд╛рдо TTX, рд╕рд╛рде рд╣реА FontBakery рдХреЗ рд╕рд╛рде рдорд┐рд▓реЗ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдореЛрдиреЛ рдЪреЗрдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред)


com.google.fonts/check/monospace(рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)

Requirements for monospace fonts:                                         

      * post.isFixedPitch - "Set to 0 if the font is proportionally spaced,     
      non-zero if the font is not proportionally spaced (monospaced)"           
        www.microsoft.com/typography/otspec/post.htm                            

      * hhea.advanceWidthMax must be correct, meaning no glyph's width value is 
      greater.                                                                  
        www.microsoft.com/typography/otspec/hhea.htm                            

      * OS/2.panose.bProportion must be set to 9 (monospace). Spec says: "The   
      PANOSE definition contains ten digits each of which currently describes   
      up to sixteen variations. Windows uses bFamilyType, bSerifStyle and       
      bProportion in the font mapper to determine family type. It also uses     
      bProportion to determine if the font is monospaced."                      
        www.microsoft.com/typography/otspec/os2.htm#pan                         
        monotypecom-test.monotype.de/services/pan2                              

      * OS/2.xAvgCharWidth must be set accurately.                              
        "OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least   
      by Windows GDI"                                                           
        http://typedrawers.com/discussion/comment/15397/#Comment_15397          

      Also we should report an error for glyphs not of average width.           

      Please also note:                                                         
      Thomas Phinney told us that a few years ago (as of December 2019), if you 
      gave a font a monospace flag in Panose, Microsoft Word would ignore the   
      actual advance widths and treat it as monospaced. Source:                 
      https://typedrawers.com/discussion/comment/45140/#Comment_45140     

рдореВрд▓ рд░реВрдк рд╕реЗ, рдореЗрд░реА scripts/instantiate-code-fonts.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рд╣реИрдВ (рдпрд╛ рд╢рд╛рдпрдж рдХрд┐рд╕реА рддрд░рд╣ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рд╣реЛ рд░рд╣реА рд╣реИрдВ?), рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╢реЗрд╖ рд╣реИрдВред рд╕рдВрднрд╡рддрдГ, рдЬрдм рдкреЙрд╡рд░рд▓рд╛рдЗрди рдЧреНрд▓рд┐рдлрд╝ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ... рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлреЗрд░рдмрджрд▓ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реИред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ (рдлрд┐рд░ рд╕реЗ) рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред

@javlaks рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ 1.070 рд░рд┐рд▓реАрдЬ рдореЗрдВ рдлреЛрдВрдЯ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ?

рдореЗрд░реЗ рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрди рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 1.070 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:

image

@arrowtype рд░рд┐рд▓реАрдЬ рдЬрд╝рд┐рдк рдореЗрдВ рд░рд┐рдХрд░реНрд╕рд┐рд╡_рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдпрд╛ рдлрд╝реЙрдиреНрдЯ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

image

тАНтЩВя╕П рд╣рд╛рд╣рд╛, рд╕реЙрд░реА; рдореЗрд░реА рдУрд░ рд╕реЗ рднрд╛рд░реА рдЧрд▓рддреАред @danarnold рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

https://github.com/arrowtype/recursive/releases/tag/v1.070

@arrowtype рдлрд╝реЙрдиреНрдЯреНрд╕ рдореЗрд░реЗ рд▓рд┐рдП рдореЛрдиреЛрд╕реНрдкреЗрд╕реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦ рд░рд╣реЗ рд╣реИрдВ! рдореЗрд░реЗ рдкрд╛рд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЦреЛрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдЗрд╕рд▓рд┐рдП @javlaks рдХреЛ рдЙрд╕ рдкрд░ рд╡рдЬрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЕрд░реЗ рджреЛрд╕реНрддреЛрдВ, рдлреЙрдиреНрдЯ рдлрд┐рд░ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдРрдкреНрд╕ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝реЙрдиреНрдЯ рдХреЛ рдкрд╣рдЪрд╛рди рд░рд╣реЗ рд╣реИрдВ
image
image

рдзрдиреНрдпрд╡рд╛рдж @arrowtype

рд╡реВ! @javlaks рдФрд░ danrnold рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

vuon9 picture vuon9  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jwortmann picture jwortmann  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arrowtype picture arrowtype  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Niels-NTG picture Niels-NTG  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexmyczko picture alexmyczko  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ