[bug #65619] Provide a default value for afmtodit(1) -w, when unspecified

2024-04-24 Thread Deri James
Follow-up Comment #1, bug #65619 (group groff):

If no -w is given afmtodit uses the width of the space glyph as the value.
This is ideal since this is the value which the font designer has chosen as
most appropriate for particular font. The various values for the URW fonts
are:-

font/devpdf/U-AB:spacewidth 280
font/devpdf/U-AB:space  280
font/devpdf/U-AB:M  900
font/devpdf/U-ABI:spacewidth 280
font/devpdf/U-ABI:space 280
font/devpdf/U-ABI:M 900
font/devpdf/U-AI:spacewidth 277
font/devpdf/U-AI:space  277
font/devpdf/U-AI:M  919
font/devpdf/U-AR:spacewidth 277
font/devpdf/U-AR:space  277
font/devpdf/U-AR:M  919
font/devpdf/U-BMB:spacewidth 340
font/devpdf/U-BMB:space 340
font/devpdf/U-BMB:M 940
font/devpdf/U-BMBI:spacewidth 340
font/devpdf/U-BMBI:space340
font/devpdf/U-BMBI:M860
font/devpdf/U-BMI:spacewidth 300
font/devpdf/U-BMI:space 300
font/devpdf/U-BMI:M 860
font/devpdf/U-BMR:spacewidth 320
font/devpdf/U-BMR:space 320
font/devpdf/U-BMR:M 920
font/devpdf/U-CB:spacewidth 600
font/devpdf/U-CB:space  600
font/devpdf/U-CB:M  600
font/devpdf/U-CBI:spacewidth 600
font/devpdf/U-CBI:space 600
font/devpdf/U-CBI:M 600
font/devpdf/U-CI:spacewidth 600
font/devpdf/U-CI:space  600
font/devpdf/U-CI:M  600
font/devpdf/U-CR:spacewidth 600
font/devpdf/U-CR:space  600
font/devpdf/U-CR:M  600
font/devpdf/U-HB:spacewidth 278
font/devpdf/U-HB:space  278
font/devpdf/U-HB:M  833
font/devpdf/U-HBI:spacewidth 278
font/devpdf/U-HBI:space 278
font/devpdf/U-HBI:M 833
font/devpdf/U-HI:spacewidth 278
font/devpdf/U-HI:space  278
font/devpdf/U-HI:M  833
font/devpdf/U-HNB:spacewidth 228
font/devpdf/U-HNB:space 228
font/devpdf/U-HNB:M 683
font/devpdf/U-HNBI:spacewidth 228
font/devpdf/U-HNBI:space228
font/devpdf/U-HNBI:M683
font/devpdf/U-HNI:spacewidth 228
font/devpdf/U-HNI:space 228
font/devpdf/U-HNI:M 683
font/devpdf/U-HNR:spacewidth 228
font/devpdf/U-HNR:space 228
font/devpdf/U-HNR:M 683
font/devpdf/U-HR:spacewidth 278
font/devpdf/U-HR:space  278
font/devpdf/U-HR:M  833
font/devpdf/U-NB:spacewidth 287
font/devpdf/U-NB:space  287
font/devpdf/U-NB:M  981
font/devpdf/U-NBI:spacewidth 287
font/devpdf/U-NBI:space 287
font/devpdf/U-NBI:M 944
font/devpdf/U-NI:spacewidth 278
font/devpdf/U-NI:space  278
font/devpdf/U-NI:M  944
font/devpdf/U-NR:spacewidth 278
font/devpdf/U-NR:space  278
font/devpdf/U-NR:M  944
font/devpdf/U-PB:spacewidth 250
font/devpdf/U-PB:space  250
font/devpdf/U-PB:M  1000
font/devpdf/U-PBI:spacewidth 250
font/devpdf/U-PBI:space 250
font/devpdf/U-PBI:M 944
font/devpdf/U-PI:spacewidth 250
font/devpdf/U-PI:space  250
font/devpdf/U-PI:M  944
font/devpdf/U-PR:spacewidth 250
font/devpdf/U-PR:space  250
font/devpdf/U-PR:M  946
font/devpdf/U-S:spacewidth 250
font/devpdf/U-S:space   250
font/devpdf/U-TB:spacewidth 250
font/devpdf/U-TB:space  250
font/devpdf/U-TB:M  944
font/devpdf/U-TBI:spacewidth 250
font/devpdf/U-TBI:space 250
font/devpdf/U-TBI:M 889
font/devpdf/U-TI:spacewidth 250
font/devpdf/U-TI:space  250
font/devpdf/U-TI:M  833
font/devpdf/U-TR:spacewidth 250
font/devpdf/U-TR:space  250
font/devpdf/U-TR:M  889
font/devpdf/U-ZCMI:spacewidth 220
font/devpdf/U-ZCMI:space220
font/devpdf/U-ZCMI:M840
font/devpdf/U-ZD:spacewidth 278
font/devpdf/U-ZD:space  278

As you can see, generally, 1/3 of an em would deliver looser text, except for
mono spaced fonts where it is considerably tighter. Most western language
fonts do include a "space" glyph [1].

Some CJK fonts (which also include western glyphs) have all glyphs mono spaced
but 2 different widths, a larger one for ideographs, the space width for these
is usually matching the western glyph size. (See font DFSongStd as an
example).

Other CJK fonts have proportional western glyphs and fixed width CJK, with no
space glyph defined, this is when afmtodit fails to write a spacewidth
parameter. See font TakaoPGothic as an example).

When fonts do not have a space glyph they sometimes have a u0020 and a u00A0
glyph which are also good candidates for setting spacewidth. The GNU Unifont
Alex is using has both of these glyph which are good candidates for setting
spacewidth since it is a mono spaced font.

[1] you can use \[space] in groff, if your font has a space glyph, and you
seem to get a fixed width space. It is usually defined into font as something
like:-

/space {
0 512 hsbw
endchar
} ND

And hsbw operator is defined as:-

hsbw RD sbx wx hsbw ND

sets the left sidebearing point at (sbx, 0) and sets the character
width vector to (wx, 0) in character space. This command also
sets the current point to (sbx, 0), but does not place the point in
the character path. Use rmoveto for the first point in the path.
The name hsbw stands for horizontal sidebearing and width; hor-
izontal indicates that the y component of both the sidebearing
and width is 0. Either 

[bug #65619] Provide a default value for afmtodit(1) -w, when unspecified

2024-04-21 Thread Alejandro Colomar
URL:
  

 Summary: Provide a default value for afmtodit(1) -w, when
unspecified
   Group: GNU roff
   Submitter: alx
   Submitted: Sun 21 Apr 2024 09:24:09 AM UTC
Category: Utilities
Severity: 3 - Normal
  Item Group: Feature change
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
 Planned Release: None


___

Follow-up Comments:


---
Date: Sun 21 Apr 2024 09:24:09 AM UTC By: Alejandro Colomar 
As suggested by Branden in
, afmtodit(1)
could provide a sane default for the space width when it is unspecified.

As suggested by Brian Inglis (and slightly differently by Branden too), it
could be calculated as 1/3 of unitsPerEm, rounded to an integer.







___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/