For years, I've enjoyed the feature in OS X Font Book where you can type in custom text and scroll through all the fonts to preview it. Now on Mavericks, when I try to do this, it only works for single-font families. All font families containing multiple fonts (e.g. bold, italic, etc.) will only show the default sample text. How can I change this behavior to be like older OS X versions, where you can see the custom text for all fonts? I'm hoping there's a plist somewhere that can be edited.
This works (at least in Yosemite Public Beta 2):
Open Font Book, select "Custom" from the View menu, double-click in the preview area and type what you want. Then, close Font Book. Then, re-open Font Book. Now, whatever you had previously typed should be the preview text for every font.
Annoying, yes, but it's a lot better than nothing!
I had the same problem and wrote a script for an overview in a html-file. For me this solved the problem. So maybe this is a solution for you, too. I think it is not difficult, but you have to know how to open Terminal application.
If you're familiar with scripts and Terminal and so on, save the code below with a name of your choice at a place of your choice. Otherwise I'll recommend the following:
Open the TextEdit application. Open a new file (File -> New), click on Format and choose Make Plain Text. Then insert the code below and save the file as fonts.sh on your Desktop.
Then open Terminal application and type
Then type the following, which will list all files on your Desktop - and also the just created fonts.sh
In the line with the new "fonts.sh"-file you'll probably see something like
The first four signs mean, that you can read (r) and write (w) on this file. But at the moment you don't have the right to execute it. Therefore type
chmod u+x fonts.sh
If you now repeat the "ls -l" command, you should see that the rights of fonts.sh changed to
The new x shows, that you can execute the file. Now you can generate the promised html-file :-)
The next time you want to use the script, you only have to start Terminal, and type
cd ~/Desktop ./fonts.sh
I hope, this helped.
And here is the code to save in a file:
#!/bin/sh echo "\n************************************" echo "Welcome to an overview of your fonts" echo "" echo "Advice: This script generates two files: fonts.html and fonts-in-system.txt, second one will be deleted again. But if you already have files with such names on your Desktop they will be overwritten! So be careful!" echo "" echo "Enter what you want to have displayed" read INPUT echo "Do you want to have the fonts in normal (n), italic (i) or oblique (o) style?" read STYLE if [ "$STYLE" = "n" ] ; then STYLE="normal" elif [ "$STYLE" = "i" ] ; then STYLE="italic" elif [ "$STYLE" = "o" ] ; then STYLE="oblique" else echo "Normal style is used!" STYLE="normal" fi echo "Do you want to have the fonts in normal (n), lighter (l) or bold (b) weight?" read WEIGHT if [ "$WEIGHT" = "n" ] ; then WEIGHT="normal" elif [ "$WEIGHT" = "l" ] ; then WEIGHT="lighter" elif [ "$WEIGHT" = "b" ] ; then WEIGHT="bold" else echo "Normal weight is used!" WEIGHT="normal" fi echo "Fonts are generated - you'll find them on your Desktop in 'fonts.html'."; # Temporary file fonts-in-system.txt is generated # It will include font family names like "Kaiti SC,楷體\-簡,楷体\-简" cat > "fonts-in-system.txt" << EOF $( fc-list : family ) EOF # Sort font list sort "fonts-in-system.txt" -o "fonts-in-system.txt" # Generate html-file cat > fonts.html << EOF <!DOCTYPE html> <html> <body> <table> EOF LAST_FONT="" while read LINE ; do if [[ ! $( echo "$LINE" | grep "^\." ) ]] ; then #only take fonts which don't start with a "." FONT=$( echo $LINE | sed "s/,\(.*\)//" ) #cut off everything in a line starting with a comma => line "Kaiti SC,楷體\-簡,楷体\-简" would become "Kaiti SC" if [ "$LAST_FONT" != "$FONT" ] ; then #print each font only once echo " <tr style=\"font-family:$FONT; font-style:$STYLE; font-weight:$WEIGHT\">" >> fonts.html echo " <td>$FONT</td>" >> fonts.html echo " <td>$INPUT</td>" >> fonts.html echo " </tr>" >> fonts.html fi LAST_FONT=$FONT fi done < "fonts-in-system.txt" cat >> fonts.html << EOF </table> </body> </html> EOF rm "fonts-in-system.txt"
If you are like me opening each font-family and requesting a custom preview is out of the question. You want to scroll quickly through all of your fonts waiting for the perfect choice to leap out at you. What was once a minute or 2 of tapping the down arrow is now an hour of tedious clicking.
I have not gotten Font Book to do what it used to do. But I purchased an App from the App store called FontPreview (4.99) and it does what Font Book used to. Perhaps not as well, but it will do for me until Font Book fixes this "bug" which renders it useless for me.
I am not endorsing the app. I have used it for 5 minutes. Just trying to help those as frustrated as I am.
I have the same problem and desire to have Font Book behave the way it used to. I work in advertising and write headlines and subheads and want to easily scroll through a custom sentence while seeing the fonts change until one "leaps out at me" as the right one to choose! If you find a way to do this on Mavericks, I would greatly appreciate it.
In the meantime, I have found a small workaround and that is if you click on the small grey triangle before each font name to bring up the options like Bold, Italic, etc. you can click on bold for example and your custom words will still be there. I lose it when I click on the font family name. So I opened up all the fonts by clicking on the triangle then I put in my custom sentence and be careful to click from Bold to Bold instead of from font name to font name. This seems to work in a pinch, but it's very frustrating.
Would love the Yosemite version of Font Book to work better than Mavericks.