0

Is there a (preferably online) tool that lets you type in a word or words and it presents them on screen in many different fonts (preferably 10's or even 100's), all the same time? The purpose being to see what text looks like in different fonts side by side (e.g. to select between them)

1
  • Comments are not for extended discussion; this conversation has been moved to chat. – PieBie Oct 9 '20 at 6:24
1

Trying to clarify things a bit here.

If you want to "shop" for fonts online you can visit each font seller/ suppliers website. At myfonts.com you did not go deep enough to see "your text" listed in each different font category. As @Scott said, you do need to narrow the search by inputting a type style (serif, sans serif, display, etc.). Then, in fact, you can input your own text and choose the text display size. You will have a long list of fonts showing the words you choose. I am afraid you will still need to do a lot of scrolling to see the entire offering.

enter image description here

Here is another example from Adobe fonts you can use (if you have a cc subscription)

enter image description here

1

Even Google fonts have a textbox where you can type your text.

enter image description here

If you want to see the fonts on your computer, use a font manager.

But for obvious reason, it is not feasible to have it online.

enter image description here

1

If you have a Mac, the Font Book app will let you customize the text used in font previews. enter image description here

Here are two python scripts to generate a gallery of different fonts for a particular string of text. One does it via HTML and one via RTF.

For either one you will need to start a list of typeface names available on your system (or ones which you want to use). For the HTML version, I have the list embedded in the program, and for the RTF version it is in a file called fontlist.txt. The entries look like this:

Mona Lisa Solid ITC TT
Party LET Fonts
Skia.ttf
SnellRoundhand.ttc
StencilStd.otf
Trebuchet MS Bold Italic.ttf
Trebuchet MS Bold.ttf
Trebuchet MS Italic.ttf
Trebuchet MS.ttf
Zapfino.ttf

On my system, I can generate these by copying the contents of /Library/Fonts and pasting into a text document. The HTML version expects the suffixes (.ttf to be stripped off).


HTML version

Pretty straightforward but I can only get it to work with System fonts and not user fonts (not Myriad Pro in example image) This plugs values of typeface names into style fields of a simple HTML document. Run it and "redirect" the output to an HTML file using > mytype.html after the command.

#! /usr/bin/env python
# -*- coding: utf-8 -*-

TemplateStart= """<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>"""
TemplateEnd="""</body>
</html>"""

FLines = '''<pre>{0}</pre>
<p style="font-family:{0}; font-size: large">EXAMPLE string</p>'''

FList = ["CharcuterieBlock",
"OdalisqueNF",
"Arial",
"Palatino",
"Times New Roman",
"MyriadPro-Regular",
"MyriadPro Regular",
"Gill Sans",
"Myriad Pro",
"Impact",
"Arial"]

print TemplateStart
for Font in FList:
    print FLines.format(Font)
print TemplateEnd 

HTML Example


RTF version

This one seems to work with whatever typefaces you have installed. The weird backslashes etc. are RTF specific, so you'd want to copy that part exactly, at least at first. Redirect output using > mytype.rtf

#! /usr/bin/env python
# -*- coding: utf-8 -*-

# Show all fonts
H1 = r"""{\rtf1\ansi\ansicpg1252\cocoartf1347\cocoasubrtf570
{\fonttbl\f0\fswiss\fcharset0 Helvetica;"""
fontdef = r"\f{0}\fnil\fcharset0 {1};"

H2 = r"""}
{\colortbl;\red255\green255\blue255;\red154\green154\blue154;\red154\green154\blue154;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural """

examplestring = 'String to preview here'

Entry = r"""

\fs20 \cf3 {2}\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural

\f{0}\fs64 \cf0 {1}
\f0 \
"""

End=r"""
\
}"""

FontList =[]
with open('fontlist.txt','r') as fl:
    for Line in fl:
        if Line and not Line.startswith("#"):
            FontList.append(Line.rstrip().replace('.ttf','').replace('.ttc',"").replace('.otf',''))
            
print H1

for n,f in enumerate(FontList):
    print fontdef.format(n+1,f)

print H2

for n,f in enumerate(FontList):
    print Entry.format(n+1,examplestring,f)

print End

ExampleRTF output

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.