[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using arbitrary fonts
From: |
Blake McBride |
Subject: |
Re: Using arbitrary fonts |
Date: |
Mon, 30 Jan 2023 11:21:43 -0600 |
Thanks a lot, Kurt!! That worked perfectly. Here is what I did:
# sudo ./install-font.sh -s -c -d 'Qalisha Signature Script.ttf'
I accepted all of the defaults and remembered the
Then in my doc, I did:
\f[QalishaSignatureScript]Blake McBride\f[]
It came out just as I hoped.
Thanks!
Blake McBride
On Mon, Jan 30, 2023 at 10:56 AM T. Kurt Bond <tkurtbond@gmail.com> wrote:
> Blake, you may find it easier to use the install-font.sh script that is
> distributed on the website of the mom macros:
> https://www.schaffter.ca/mom/mom-05.html#install-font
>
> (Brandon, I still intend to posixify that script, but I fell off the edge
> of the world and it's a long climb back up.)
>
> On Mon, Jan 30, 2023 at 11:51 AM Blake McBride <blake@mcbride.name> wrote:
>
>> Hi Branden,
>>
>> Thanks a lot for the help!!! However, I am having trouble interpreting
>> your docs.
>>
>> Please forgive me. Although I am a software engineer and have been using
>> nroff/troff/groff for nearly 40 years, I never really got into the details
>> behind fonts and their various formats. I basically know very little
>> about
>> them. The basic fonts that come with nroff/troff/groff have generally met
>> my needs.
>>
>> 1. I am using PDF (not PS).
>>
>> 2. As I mentioned, I have .otf, .ttf, .woff, and .woff2 files. So my
>> question is, can I use any of those, or do I need to convert them to
>> another format?
>>
>> 2.a. If I need to convert them, which do I start with, and what am I
>> converting them to?
>>
>> 2.b. How do I convert them?
>>
>> 3. What do I install, and where do I install them? Is there a special
>> procedure besides just copying them?
>>
>> 4. Do I need to do something special to give them a name within an mm
>> context?
>>
>> After all of that, doing
>>
>> \f[YOURNEWFONT]Blake McBride\f[]
>>
>> seems easy enough.
>>
>> If I can understand this and get it working, I would be happy to produce
>> formal documentation for inclusion with GROFF (if desired).
>>
>> Thanks!
>>
>> Blake McBride
>>
>>
>>
>>
>> On Mon, Jan 30, 2023 at 10:20 AM G. Branden Robinson <
>> g.branden.robinson@gmail.com> wrote:
>>
>> > Hi Blake,
>> >
>> > At 2023-01-30T09:28:50-0600, Blake McBride wrote:
>> > > I have been using the default groff fonts for many happy years.
>> > > However, I need to produce a document with a machine-generated
>> > > signature. There are plenty of adequate signature fonts out there.
>> > > However, I do not know how to make groff use them.
>> > >
>> > > I downloaded a font. It came with files with the .otf, .ttf, .woff,
>> > > and .woff2 extensions. What are the exact steps I need to use to use
>> > > them in a groff/mm document? (I only want one line to use the special
>> > > font. The rest of the document can use the regular groff fonts.)
>> >
>> > The first thing to do is to make the font visible to the output driver,
>> > which will probably be "ps" or "pdf".
>> >
>> > Here are some instructions from the grops(1) page in groff Git.
>> >
>> > TrueType and other font formats
>> > TrueType fonts can be used with grops if converted first to Type 42
>> > format, a PostScript wrapper equivalent to the PFA format described
>> > in pfbtops(1). Several methods exist to generate a Type 42 wrapper;
>> > some of them involve the use of a PostScript interpreter such as
>> > Ghostscript—see gs(1).
>> >
>> > One approach is to use FontForge, a font editor that can convert
>> > most outline font formats. Here’s an example of using the Roboto
>> > Slab Serif font with groff. Several variables are used so that you
>> > can more easily adapt it into your own script.
>> >
>> > MAP=/usr/local/share/groff/1.23.0/font/devps/generate/text.map
>> > TTF=/usr/share/fonts/truetype/roboto/slab/RobotoSlab-Regular.ttf
>> > BASE=$(basename "$TTF")
>> > INT=${BASE%.ttf}
>> > PFA=$INT.pfa
>> > AFM=$INT.afm
>> > GFN=RSR
>> > DIR=$HOME/.local/groff/font
>> > mkdir -p "$DIR"/devps
>> > fontforge -lang=ff -c "Open(\"$TTF\");\
>> > Generate(\"$DIR/devps/$PFA\");"
>> > afmtodit "$DIR/devps/$AFM" "$MAP" "$DIR/devps/$GFN"
>> > printf "$BASE\t$PFA\n" >> "$DIR/devps/download"
>> >
>> > fontforge and afmtodit may generate warnings depending on the
>> > attributes of the font. The test procedure is simple.
>> >
>> > printf ".ft RSR\nHello, world!\n" | groff -F "$DIR" > hello.ps
>> >
>> > Once you’re satisfied that the font works, you may want to generate
>> > any available related styles (for instance, Roboto Slab also has
>> > “Bold”, “Light”, and “Thin” styles) and set up GROFF_FONT_PATH in
>> > your environment to include the directory you keep the generated
>> > fonts in so that you don’t have to use the -F option.
>> >
>> > Ensure that you do the test procedure shown, before worrying about macro
>> > package integration.
>> >
>> > Once this works (please reply to the list if it doesn't), the mm usage
>> > issue can be tackled.
>> >
>> > > I need to produce a document with a machine-generated signature.
>> >
>> > In mm this requires some context. Are you using one of the memorandum
>> > types ("MT") or one of the letter formats ("LT")? If so I'll have do
>> > some digging, because the signature line is automatically printed and
>> > I'll need to work up a recommendation for how to override that cleanly
>> > (or someone who's more of an mm expert than I am may have ideas).
>> >
>> > If not, and you're outputting the signature line like any other
>> > formatted text, it should be straightforward.
>> >
>> > Put in a line like this.
>> >
>> > \f[YOURNEWFONT]Blake McBride\f[]
>> >
>> > ...where YOURNEWFONT is the groff name you have given to the font you
>> > installed using the procedure above.
>> >
>> > Let us know if this helps, or doesn't.
>> >
>> > Regards,
>> > Branden
>> >
>>
>
>
> --
> T. Kurt Bond, tkurtbond@gmail.com, https://tkurtbond.github.io
>