bugGNU roff - Bugs: bug #60930, Integrate Peter Schaffter's font...

 
 

bug #60930: Integrate Peter Schaffter's font installer script into groff

Submitter:  T. Kurt Bond <tkurtbond>
Submitted:  Sat 17 Jul 2021 12:14:11 AM UTC
   
 
Category:  Utilities Severity:  3 - Normal
Item Group:  Feature change Status:  In Progress
Privacy:  Public Assigned to:  None
Open/Closed:  Open Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 14 Mar 2024 11:29:55 PM UTC, comment #20: 

Not opposed to that either.  I might wonder if the GNU project feels at all territorial about the g prefix, since they use that to distinguish some of their own versions of tools from their ancestors (gmake, gcc, gawk, even gtroff on some systems), but since there's no prior "font" command, I can't see much objection on those grounds.

Dave <barx>
Group Member
Thu 14 Mar 2024 12:39:08 AM UTC, comment #19: 

How about just gfont?

Peter Schaffter <PTPi>
Group Member
Wed 13 Mar 2024 07:32:24 PM UTC, comment #18: 

comment #17:

> comment #16:
> > My suggestion for a name is fforg.
>
> Too many letters in common with fontforge, of which it looks
> like an abbreviation.


This was my first mental association on reading the name.  But I'm not sure whether I consider that disqualifying.  It is related to font conversions, akin to a mini-FontForge for a specific domain.

> Also, the name gives no indication of the script's function
> or domain of operation.


This, however, seems entirely consistent with a Unix command-line name space strewn with inscrutable letter-salads like grep, fsck, ls, cat, gcc, sudo, cd, chmod, awk, and even groff.  And while some groff tools hint at their family relation (grotty, gropdf, grog), plenty more do not (preconv, chem, addftinfo, soelim, afmtodit).

Dave <barx>
Group Member
Sat 09 Mar 2024 04:52:29 PM UTC, comment #17: 

comment #16:

> > Branden mentioned two more to-do items in the email cited in comment #5:
> > * giving it a less name-space-stomperific name ("groff-font-install" or "groff-install-font" would be clear enough, but I think either would annoy me [and other users] when tab-completing "groff")
>
> My suggestion for a name is fforg.


Too many letters in common with fontforge, of which it looks like an abbreviation.  Also, the name gives no indication of the script's function or domain of operation.  Cute idea, though.

Peter Schaffter <PTPi>
Group Member
Sat 09 Mar 2024 03:36:31 PM UTC, comment #16: 

comment #7:

> Branden mentioned two more to-do items in the email cited in comment #5:
> * giving it a less name-space-stomperific name ("groff-font-install" or "groff-install-font" would be clear enough, but I think either would annoy me [and other users] when tab-completing "groff")


My suggestion for a name is fforg.

You might pronounce this as "F-for-G", or the same as "fork", but with a voiced final stop consonant.

1.  It's short for "*f*onts for *g*roff".
2.  It's "groff" spelled backwards.
3.  Anyone frustrated with the tool can call for us to be burned/hanged/shot in...efforgy.

G. Branden Robinson <gbranden>
Group administrator
Sat 17 Feb 2024 01:18:04 AM UTC, comment #15: 


> I can't remember when I wrote the damned thing


Its first appearance I can find on the mailing list is 2012: http://lists.gnu.org/r/groff/2012-05/msg00001.html

> I believe Bertrand, as groff maintainer, has to initiate the
> copyright assignment process.


He's subscribed to bug-groff, which gets copies of all savannah-generated email, but I'm explicitly adding him to this bug's cc in case his mail reader gives more visibility to mail directly from savannah than from bug-groff.

Dave <barx>
Group Member
Sat 17 Feb 2024 12:35:20 AM UTC, comment #14: 

comment #6:

> a first cut that simply checks whether bash is available and
> bails gracefully if not.


With no objection in the past two weeks, I'm calling that a ringing endorsement of this plan!

> Four years ago, James K. Lowden volunteered to do this
> (http://lists.gnu.org/r/groff/2020-04/msg00071.html).  I'm adding
> him to the cc to see if he's still up for this.


James, with the man page text already written (see the last paragraph in comment #11), are you willing do this markup?  This is a considerably simpler task than writing a man page from scratch, but perhaps a less appealing one to you.  I can take this on, but I've never used man markup, whereas someone familiar with it could knock this out quickly.

Dave <barx>
Group Member
Tue 06 Feb 2024 05:43:56 PM UTC, comment #13: 


comment #12:

> comment #11:
> > There's no copyright affixed to the script, but I can add one and
> > slap on a GPL notice if that would help.  Let me know.  There'll
> > probably have to be a copyright assignment to the Free Software
> > Foundation as well.  I don't keep up with the legalities, I'm afraid.
>
> Nor I; someone more conversant with licensing will have to address this.  I only brought it up as part of a list of potential obstacles I could see to getting it into the package.


I've put a copyright notice (2024--I can't remember when I wrote the damned thing) and GPL licence on the script and uploaded it to
https://www.schaffter.ca/mom/bin/install-font.sh

Whoever wants to can grab it from there.  I believe Bertrand, as groff maintainer, has to initiate the copyright assignment process.

Peter Schaffter <PTPi>
Group Member
Tue 06 Feb 2024 07:17:39 AM UTC, comment #12: 

comment #11:

> There's no copyright affixed to the script, but I can add one and
> slap on a GPL notice if that would help.  Let me know.  There'll
> probably have to be a copyright assignment to the Free Software
> Foundation as well.  I don't keep up with the legalities, I'm afraid.


Nor I; someone more conversant with licensing will have to address this.  I only brought it up as part of a list of potential obstacles I could see to getting it into the package.  I don't know what if anything needs to be done here.  My na├»ve assumption would be that whatever was done to get -mom in would be sufficient.

> FWIW, a manpage is already written as a heredoc in the script.
> All it needs is to be marked up.


More good news!

Dave <barx>
Group Member
Sun 04 Feb 2024 05:43:20 PM UTC, comment #11: 

comment #10:
 

> The potential downside depends on whether Peter wants to continue to maintain his script separately, which would make the groff git version a fork that will then not automatically pick up any changes Peter makes to his copy.  But he may be willing to make the git code the authoritative version, and simply mirror that on his site (until, presumably, it's part of an official groff release).


I'd be happy to have someone else maintain the script, so yes, pillage and plunder, add it to groff and make that version authoritative.
 

> I also don't know what license covers the script (neither the page that hosts the script (linked in comment #0), nor the source code itself, mentions one), but my presumption is that it would be licensed the same as -mom herself, which is GPLed.


There's no copyright affixed to the script, but I can add one and slap on a GPL notice if that would help.  Let me know.  There'll probably have to be a copyright assignment to the Free Software Foundation as well.  I don't keep up with the legalities, I'm afraid.

FWIW, a manpage is already written as a heredoc in the  script.  All it needs is to be marked up.

Peter Schaffter <PTPi>
Group Member
Sat 03 Feb 2024 10:45:22 PM UTC, comment #10: 

Great!  I guess now it's a matter of seeing if anyone has objections to the plan.

The upside that I see is that once the current install-font is under groff's git, changes to make it more POSIX-compliant can be made incrementally, rather than having to do that all at once as a prerequisite for even getting it into git.  (As far as I know, doing this work shouldn't make it any less bash-compatible, but perhaps traps lie there that I'm unaware of.)

The potential downside depends on whether Peter wants to continue to maintain his script separately, which would make the groff git version a fork that will then not automatically pick up any changes Peter makes to his copy.  But he may be willing to make the git code the authoritative version, and simply mirror that on his site (until, presumably, it's part of an official groff release).

I also don't know what license covers the script (neither the page that hosts the script (linked in comment #0), nor the source code itself, mentions one), but my presumption is that it would be licensed the same as -mom herself, which is GPLed.

Peter, would you care to address the above two points?

Dave <barx>
Group Member
Sat 03 Feb 2024 09:48:41 PM UTC, comment #9: 

comment #7:

> Kurt, do the points above and in comment #6 make a first cut seem more manageable?


Yes.

T. Kurt Bond <tkurtbond>
Sat 03 Feb 2024 05:22:45 PM UTC, comment #8: 

comment #6:

> > * Write some test cases to ensure it works as expected
>
> It's possible Peter Schaffter, the script's developer, has some he's used privately and would be willing to share.  Putting him on cc as well.


Sorry, no test cases, just the 500+ fonts I've installed successfully with the script.

Peter Schaffter <PTPi>
Group Member
Sat 03 Feb 2024 02:32:08 AM UTC, comment #7: 

Branden mentioned two more to-do items in the email cited in comment #5:

  • giving it a less name-space-stomperific name ("groff-font-install" or "groff-install-font" would be clear enough, but I think either would annoy me [and other users] when tab-completing "groff")
  • giving distribution packaging folks enough guidance that they will understand how to correctly call our tool from their package triggers or "postinst"s or similar

The first of these is trivial.  The second seems worthwhile but shouldn't be a barrier to getting something out the door that users can use.  In fact, if others agree there's value in deferring the task of POSIXifying the entire script, writing distro-facing documentation should probably depend on that.

Kurt, do the points above and in comment #6 make a first cut seem more manageable?

Dave <barx>
Group Member
Sat 03 Feb 2024 02:10:30 AM UTC, comment #6: 

original submission:

> * Make the script portable by removing dependencies on
> bash-specific features


I'm now wondering if there's some wisdom to doing a first cut that simply checks whether bash is available and bails gracefully if not.  This would leave some users out in the cold, but it would serve a lot of them, and that's got to be an improvement over serving none.  And it wouldn't require a bash install dependency for groff, just a run-time one for one groff utility that provides functionality groff didn't provide before anyway.

> * Write a man page


Four years ago, James K. Lowden volunteered to do this (http://lists.gnu.org/r/groff/2020-04/msg00071.html).  I'm adding him to the cc to see if he's still up for this.  Divide and conquer!

> * Write some test cases to ensure it works as expected


It's possible Peter Schaffter, the script's developer, has some he's used privately and would be willing to share.  Putting him on cc as well.

Dave <barx>
Group Member
Sat 28 May 2022 01:53:08 AM UTC, comment #5: 
Dave <barx>
Group Member
Wed 02 Mar 2022 07:44:33 PM UTC, comment #4: 

Sorry, things have been busy.  I intend to devote more time to this soon.

T. Kurt Bond <tkurtbond>
Wed 02 Mar 2022 07:40:38 PM UTC, comment #3: 

Any word on this, Kurt?

G. Branden Robinson <gbranden>
Group administrator
Mon 23 Aug 2021 03:52:52 PM UTC, comment #2: 

T. Kurt Bond has graciously volunteered to tackle this!  http://lists.gnu.org/archive/html/groff/2021-07/msg00105.html

Savannah won't let me assign this ticket to him -- he probably needs to be a member of the project first -- but I am setting it to "In Progress."

Dave <barx>
Group Member
Sat 17 Jul 2021 01:21:06 AM UTC, comment #1: 

original submission:

> * Further discussion of tasks and links to previous discussion: https://lists.gnu.org/archive/html/groff/2021-07/msg00065.html


This also suggests this item would be suitable for someone without deep groff knowledge to work on.

T. Kurt Bond <tkurtbond>
Sat 17 Jul 2021 12:14:11 AM UTC, original submission:  

Script location: https://www.schaffter.ca/mom/mom-05.html#install-font

Use of the install-font.sh script makes installing fonts for groff much, much easier.  It should be integrated into groff.

Preliminary Tasks


and downthread; thread continues, not linked to the previous one, at
http://lists.gnu.org/archive/html/groff/2020-05/msg00000.html

  • Write a man page
  • Write some test cases to ensure it works as expected


Mailing List Discussion


T. Kurt Bond <tkurtbond>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by barx (see comment #13)
  • -email is unavailable- added by PTPi (Posted a comment)
  • -email is unavailable- added by barx (see comment #6)
  • -email is unavailable- added by barx (see comment #6)
  • -email is unavailable- added by gbranden (Posted a comment)
  • -email is unavailable- added by barx (Posted a comment)
  • -email is unavailable- added by tkurtbond (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-02-17 barx Carbon-Copy- Added bgarrigues
    2024-02-03 barx Carbon-Copy- Added ptpi
        Carbon-Copy- Added -email is unavailable-
    2021-08-23 barx StatusNone In Progress

    Back to the top

    Powered by Savane 3.13-b921.
    Corresponding source code