Syntax
(* '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
Dictionary commands
- create font profile
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.
- get
reference to object
Use this command to get some FontSync Extension data such as:
tell app "FontSync Extension" to get version
- match against
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 results 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.
- quit
This command quits the FontSync Extension application.
- run
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).
- set
Use this command to set some FontSync Extension data, as in:
tell app "FontSync Extension" to set quit delay to
30
This application's quit delay is
60 by default. See the application
class' quit delay property.
Dictionary classes
- 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:
advanced layout |
Kerning |
ATSUI metrics |
missing data mismatches |
encodings |
print encoding |
font names |
QuickDraw metrics |
font types |
WorldScript layout |
glyphs |
|
- off options list of constants (read-only)
This off options property is a
list of one or more of the following:
advanced layout |
Kerning |
ATSUI metrics |
missing data mismatches |
encodings |
print encoding |
font names |
QuickDraw metrics |
font types |
WorldScript layout |
glyphs |
|
- 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.
Examples
(*
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
|