FontSync Extension
(* 'tell app "FontSync"' targets the FontSync control panel. Make sure to specify "FontSync Extension" if you are using the extension's commands not the control panel's. They are different applications! *) tell app "FontSync Extension" set theProfile to (new file with prompt "Save the profile as: "¬ default name "FontSync profile") end tell
alias
This command creates a FontSync profile of the
computer’s active fonts and stores it in the file
represented by the alias
parameter. You can use
the new file scripting addition (which returns
an alias
type) to prompt the user to create a new
file for the profile. This example creates a FontSync profile in the
alias
represented by the
theProfile
variable:
create font profile (new file with prompt¬ "Pick the FontSync profile file location"¬ default name "FontSync profile" )
with creator class
This property specifies the four-character creator type for the FontSync profile file. The default type is “‘fns’.” If you try to set this property to other creator types such as “R*ch,” then you will raise a script error.
version integer
As of FontSync 1.0, you cannot use this parameter without raising an error.
Use this command to get some FontSync Extension data such as:
tell app "FontSync Extension" to get version
alias
Use this command to match the font information in one computer system
with another computer’s font sets. The
alias
parameter must point to a Fontsync profile
file. An example of match against is:
tell application "FontSync Extension" to match against (alias¬ "Macintosh HD:Desktop Folder:font profile")
The “font profile” file could have
been created with the create font profile
command. match against then returns a
list
of match result
objects,
which are record
types that report any problems
with certain fonts. The match result
s look like
this:
{class:match result, problem reported:mismatch, name:"Arial Narrow", font:2000, style:3}
See the match result
class.
using fonts from
alias
When you use match against
withoutthe using fonts from
parameter, then
the command compares the computer system’s active
fonts against the specified FontSync profile. If you want to compare
two FontSync profile files, then use code such as the following:
tell application "FontSync Extension" to match against (alias ¬ "Macintosh HD:Desktop Folder:font profile") using fonts from ¬ (alias "Macintosh HD:Desktop Folder:FontSync profile")
This code phrase compares the two files “font profile” and “FontSync profile” and returns any mismatch information. This is an optional parameter.
with match options match options
You can use a different set of match options than those specified in
the FontSync control panel by specifying a match options
object with the with match options
labeled
parameter. An example is:
tell application "FontSync Extension" set matchOpts to¬ {class:match options, on options:{font names, font types, glyphs, encodings, QuickDraw metrics, ATSUI metrics, kerning, WorldScript layout, missing data mismatches}, off options: {advanced layout, print encoding}} match against¬ (alias "Macintosh HD:Desktop Folder:applescriptcode_Appen.txt")¬ with match options matchOpts end tell
See the match options
class.
If it is not already open, this command runs the Fontsync Extension application. In other words, it will be added to the list of running applications on your computer, even though it is a faceless background application. It does not have a graphical appearance on the computer, such as windows and menus, for interacting with the user (FontSync Extension can be controlled with AppleScript, however).
application
This class represents the FontSync Extension program. It is the
target of the tell
statement in the code:
tell app "FontSync Extension" to set quit delay to 30
name
international text
This name
property evaluates to the value
“FontSync Extension.”
version
version
version
returns a string
for
the program’s version number, which on Mac OS 9.0.4
is “1.0.”
quit delay
the constants immediate/default/never
or an integer
Fontsync Extension is a faceless background application that opens,
hopefully does its job, and then quits after a default of 60 seconds.
You can change this delay time to suit your purpose, such as to
never,
so that Fontsync Extension stays open until
it is sent a quit Apple event, or to a number of
seconds, such as 30.
match options
This class is a record
type that looks like
{class:match options, on options:{font
names,
font
types,
glyphs,
encodings,
QuickDraw metrics,
ATSUI
metrics,
kerning,
WorldScript layout,
missing data
mismatches},
off
options:{advanced
layout,
print encoding}}
. A
record
is one or more name/value pairs separated
by commas and enclosed by curly braces ({}). In this case, some of
the values are lists
, such as all of the font
characteristics that are “on” and
therefore will be matched for each font in a profile or computer
system, such as:
on options:{font names, font types, glyphs, encodings, QuickDraw metrics, ATSUI metrics, kerning, WorldScript layout, missing data mismatches})
A match
options
object is used
with the with
match
options
labeled parameter for the match
against command. An example is:
tell application "FontSync Extension" set matchOpts to¬ {class:match options, on options:{font names, font types, glyphs, encodings, QuickDraw metrics, ATSUI metrics, kerning, WorldScript layout, missing data mismatches}, off options: {advanced layout, print encoding}} match against¬ (alias "Macintosh HD:Desktop Folder:applescriptcode_Appen.txt")¬ with match options matchOpts end tell
on options
list
of constants (read-only) This on options
property is a
list
of one or more of the following:
off options
list
of constants (read-only) This off options
property is a
list
of one or more of the following:
match result
This object is returned from the match against
command, which matches a system’s font sets to a
FontSync profile or matches two FontSync profiles. match result
is a record
type that looks like
{class:match result, problem reported:mismatch, name:"Arial Narrow", font:2000, style:3
}. In this
case, a FontSync match reported a problem with the
“Arial Narrow” font. A
record
is one or more name/value pairs separated
by commas and enclosed by curly braces ({}). Chapter 3 describes the record
type.
problem reported
mismatch
or noRef
(read-only) This property evaluates to the constants mismatch
or noRef
.
name
international text
This property returns the font name, such as “Arial.”
ID integer
This ID number represents the font family of the problem font; if the font does not belong to a font family, this value may be -1.
style integer
This property is a number such as 3 or -1 if the property does not apply to the font.
(* This script can be found in startup disk:Apple Extras:Font Extras *) on run if OKToProceed( ) then set theProfile to new file with prompt "Save the profile as: "¬ default name "FontSync profile" try -- This can take a while... tell application "FontSync Extension" to create font profile¬ theProfile display dialog "Created FontSync profile named \"" & name of¬ (info for theProfile) & "\"" with icon note buttons {"OK"}¬ default button 1 on error err display dialog "Encountered an error (" & err & ") while¬ creating \"" & name of (info for theProfile) & "\"" with icon¬ stop buttons {"OK"} default button 1 end try end if end run on OKToProceed( ) set theButton to button returned of (display dialog "This can take a¬ long time if you have many fonts. Do you wish to proceed?" with icon¬ caution giving up after 30) return (theButton = "OK") end OKToProceed