What is the Mac OS X (macOS) fonts folder? (to add new fonts)

Apple/Mac FAQ: I want to add new fonts to my Mac, what is the Mac OS X (macOS) fonts folder?

Just put any new font files in the Library/Fonts folder under your home directory. For instance, my Mac OS X username is alvin, so the correct fonts folder is:

Scary font ideas

I’m working on cover designs for my new “Functional Programming in Scala” book, and I want the words Functional Programming to be scary or intimidating. These are some different font ideas. The red fonts seem to get the “scary” point across well, though I suspect that some combinations of grays and white can also work.

All fonts available with XeTex and XeLaTeX

To generate a list of all fonts available available with XeTex and XeLaTeX, use this command at your Unix command line:

fc-list : family

I found that command at this URL.

That command may also work with Windows, but I don’t have a Windows system to test with. Note that it took a little while to run the first time, then it returns almost instantly after that.

An Android method to center text when using Canvas drawText

I’m not an expert on this subject just yet, but if you want the source code for an Android method to center text that you want to use with the drawText method of the Canvas class, I know that this code works in two places in my current Android app:

How to programmatically set the font size and style of an Android TextView

Android FAQ: How do I programmatically set the font size (and/or font style) for an Android TextView?

Solution: Setting the Android TextView font size programmatically is a simple two-step process. First, define everything about the font that you want to use in a resources file. For example, I put this code in a file named res/values/styles.xml:

Android 'Roboto' fonts (examples)

This image shows examples of the Android “Roboto” font family. This typography page shares more details about typography in Android applications. This SO page shows these possible Roboto styles:

android:fontFamily="sans-serif"           // roboto regular
android:fontFamily="sans-serif-light"     // roboto light
android:fontFamily="sans-serif-condensed" // roboto condensed
android:fontFamily="sans-serif-thin"      // roboto thin (android 4.2)
android:fontFamily="sans-serif-medium"    // roboto medium (android 5.0)

How to get the default system font in a Java/Swing application

I haven’t tested this with other Java components, but if you want/need to get the “system font”, this code gets the default system font from a JEditorPane component:

val outputArea = new JEditorPane
val fontFamily = outputArea.getFont.getFamily

That code is written in Scala, but as you can see, it converts easily to Java. On Mac OS X 10.10, fontFamily ends up being “Lucida Grande”.