How do I load a font?
Loading a font
There are so many great and permissively licensed fonts available that at some point you will want to use a font in your solution that is not installed by default on your target systems. LiveCode includes a command to load and unload a font from a file.
The syntax for font loading and unloading in LiveCode is as follows:
start using font file fontFile [globally]
stop using font file fontFile
Fonts are loaded by FileMaker when it starts up so we must call the start using font file command within a custom component's `FileMakerLoad` handler. We are going to implement this custom component as a script only stack with a folder of fonts next to it that are loaded by the component.
Creating a script only stack
Open the LiveCode IDE and choose `File > New Stack > Script only stack` from the menubar. Name the stack `FontLoader` and click `OK`

Because script only stacks have no user interface by default the new stack will open directly into the script editor.
Script
Copy the script below to the `FontLoader` stack script:
on FileMakerLoad
local tPath
put __TheFontFolder() into tPath
local tFiles
put __TheFontFilesOfFolder(tPath) into tFiles
repeat for each line tFile in tFiles
start using font file (tPath & slash & tFile)
end repeat
end FileMakerLoad
on FileMakerUnload
local tPath
put __TheFontFolder() into tPath
local tFiles
put __TheFontFilesOfFolder(tPath) into tFiles
repeat for each line tFile in tFiles
stop using font file (tPath & slash & tFile)
end repeat
end FileMakerUnload
private function __TheFontFolder
local tPath
put the effective filename of me into tPath
set the itemDelimiter to slash
put "fonts" into the last item of tPath
return tPath
end __TheFontFolder
private function __TheFontFilesOfFolder pPath
local tFiles
put files(pPath) into tFiles
filter tFiles with "*.ttf"
return tFiles
end __TheFontFilesOfFolder
on FileMakerAction pAction
end FileMakerAction
Now click `Apply` and choose `File > Save` from the menubar and save the file in a location you can remember.
Back to FileMaker
Open the LiveCode for FM plugin solution in FileMaker and click on the `Custom Components` button.
Click on the `+` icon and choose the stack file you saved in LiveCode. Name the custom component `FontLoader` and click `OK`
Adding a fonts folder
Back in LiveCode choose `LiveCode > Preferences` from the menubar and check the file path to your `User Extensions` folder.

Navigate to your user extensions folder in Finder and inside the `FileMaker Components/fontloader` create a folder named `fonts` and place one or more font files you would like loaded when in FileMaker.

Testing
Close FileMaker and re-open it and the fonts that were placed in the fonts folder will be available to use in your solutions in FileMaker.

0 Comments
Add your comment