-- Module ISO-STANDARD-9541-FONT-ATTRIBUTE-SET (ISO:1991)
--
-- Copyright � ISO/IEC 1991. This version of
-- this ASN.1 module is part of ISO|IEC 9541-2:1991;
-- see the ISO|IEC text itself for full legal notices.
--
ISO-STANDARD-9541-FONT-ATTRIBUTE-SET {1 0 9541 2 2} DEFINITIONS ::=
BEGIN
EXPORTS Font-Attribute-Set;
IMPORTS Structured-Name
FROM ISO9541-SN {1 0 9541 2 3};
Font-Attribute-Set ::= SEQUENCE {
name-prefixes [0] IMPLICIT SET OF Name-Prefix OPTIONAL,
iso-standard-9541-fontname [1] IMPLICIT Global-Name OPTIONAL,
iso-standard-9541-fontdescription [2] IMPLICIT Font-Description OPTIONAL,
iso-standard-9541-wrmodes [3] IMPLICIT Writing-Modes OPTIONAL,
non-iso-properties [5] IMPLICIT Property-List OPTIONAL
}
Font-Description ::= SET {
iso-standard-9541-dataversion [0] IMPLICIT Data-Version OPTIONAL,
iso-standard-9541-Standardversion [1] IMPLICIT Cardinal OPTIONAL,
iso-standard-9541-datasource [2] IMPLICIT Global-Name OPTIONAL,
iso-standard-9541-datacopyright [3] Message OPTIONAL,
iso-standard-9541-dsnsource [4] IMPLICIT Global-Name OPTIONAL,
iso-standard-9541-dsncopyright [5] Message OPTIONAL,
iso-standard-9541-relunits [6] IMPLICIT Cardinal DEFAULT 1,
iso-standard-9541-typeface [7] Message OPTIONAL,
iso-standard-9541-fontfamily [8] Match-String OPTIONAL,
iso-standard-9541-posture [9] IMPLICIT Posture-Code OPTIONAL,
iso-standard-9541-postureangle [10] IMPLICIT Angle OPTIONAL,
iso-standard-9541-weight [11] IMPLICIT Weight-Code OPTIONAL,
iso-standard-9541-propwidth [12] IMPLICIT Width-Code OPTIONAL,
iso-standard-9541-glyphcomp [13] IMPLICIT Glyph-Complement OPTIONAL,
iso-standard-9541-nomwrmode [14] IMPLICIT Global-Name OPTIONAL,
iso-standard-9541-dsnsize [15] IMPLICIT Rational OPTIONAL,
iso-standard-9541-minsize [16] IMPLICIT Rational OPTIONAL,
iso-standard-9541-maxsize [17] IMPLICIT Rational OPTIONAL,
iso-standard-9541-capheight [18] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-lcheight [19] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-dsngroup [20] IMPLICIT Design-Group OPTIONAL,
iso-standard-9541-structure [21] IMPLICIT Structure-Code OPTIONAL,
iso-standard-9541-minfeatsz [22] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-nomcapstemwidth [23] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-nomlcstemwidth [24] IMPLICIT Rel-Rational OPTIONAL,
non-iso-properties [25] IMPLICIT Property-List OPTIONAL
}
Name-Prefix ::= SEQUENCE {
--see NOTE 3 at the end of 6.1
index [0] IMPLICIT Code,
prefix [1] IMPLICIT Structured-Name
}
Data-Version ::= SEQUENCE {
major [0] IMPLICIT Cardinal OPTIONAL,
minor [1] IMPLICIT Cardinal OPTIONAL,
timestamp [2] IMPLICIT UTCTime OPTIONAL
}
Posture-Code ::= INTEGER {
not-applicable(0), upright(1), oblique-forward(2), oblique-backward(3),
italic-forward(4), italic-backward(5), other(6)}
Weight-Code ::= INTEGER {
not-applicable(0), ultra-light(1), extra-light(2), light(3), semi-light(4),
medium(5), semi-bold(6), bold(7), extra-bold(8), ultra-bold(9)}
Width-Code ::= INTEGER {
not-applicable(0), ultra-condensed(1), extra-condensed(2), condensed(3),
semi-condensed(4), medium(5), semi-expanded(6), expanded(7),
extra-expanded(8), ultra-expanded(9)}
Glyph-Complement ::= SEQUENCE {
-- at least one included glyph list or at least one
-- included glyph collection list is mandatory
iso-standard-9541-numglyphs [0] IMPLICIT Cardinal OPTIONAL,
iso-standard-9541-incglyphcols [1] IMPLICIT SET OF Global-Name OPTIONAL,
-- at least one is required
iso-standard-9541-excglyphcols [2] IMPLICIT SET OF Global-Name OPTIONAL,
-- at least one is required
iso-standard-9541-incglyphs [3] IMPLICIT SET OF Global-Name OPTIONAL,
-- at least one is required
iso-standard-9541-excglyphs [4] IMPLICIT SET OF Global-Name OPTIONAL,
-- at least one is required
non-iso-properties [5] IMPLICIT Property-List OPTIONAL
}
Design-Group ::= SEQUENCE {
-- see 9541-1 Annex-A for code values
group-code [0] IMPLICIT Code,
subgroup-code [1] IMPLICIT Code,
specific-group-code [2] IMPLICIT Code
}
Structure-Code ::= INTEGER {not-applicable(0), solid(1), outline(2)}
Writing-Modes ::= SET {
iso-standard-9541-wrmode [0] IMPLICIT SET OF Writing-Mode OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Writing-Mode ::= SEQUENCE {
iso-standard-9541-wrmodename [0] IMPLICIT Global-Name,
wrmode-properties [1] IMPLICIT Modal-Properties
}
Modal-Properties ::= SET {
iso-standard-9541-nomescdir [0] IMPLICIT Angle OPTIONAL,
iso-standard-9541-escclass [1] IMPLICIT Esc-Class-Code OPTIONAL,
iso-standard-9541-avgescx [2] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-avgescy [3] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-avglcescx [4] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-avglcescy [5] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-avgcapescx [6] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-avgcapescy [7] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-tabescx [8] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-tabescy [9] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-maxfontext [10] IMPLICIT Max-Extents OPTIONAL,
iso-standard-9541-sectors [11] IMPLICIT Sectors OPTIONAL,
iso-standard-9541-escadjs [12] IMPLICIT SET OF Adjusts OPTIONAL,
iso-standard-9541-minescadjsze [13] IMPLICIT Rational OPTIONAL,
iso-standard-9541-maxescadjsze [14] IMPLICIT Rational OPTIONAL,
iso-standard-9541-scores [15] IMPLICIT Scores OPTIONAL,
iso-standard-9541-vscripts [16] IMPLICIT Variant-Scripts OPTIONAL,
iso-standard-9541-minlinesp [17] IMPLICIT Alignment-Spacing OPTIONAL,
iso-standard-9541-minanascale [18] IMPLICIT Rational OPTIONAL,
iso-standard-9541-maxanascale [19] IMPLICIT Rational OPTIONAL,
iso-standard-9541-nomalign [20] IMPLICIT Global-Name OPTIONAL,
iso-standard-9541-alignmodes [21] IMPLICIT Alignment-Modes OPTIONAL,
iso-standard-9541-copyfits [22] IMPLICIT Copyfits OPTIONAL,
iso-standard-9541-dsnwordadd [23] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-dsnwordampl [24] IMPLICIT Rational OPTIONAL,
iso-standard-9541-minwordadd [25] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-minwordampl [26] IMPLICIT Rational OPTIONAL,
iso-standard-9541-maxwordadd [27] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-maxwordampl [28] IMPLICIT Rational OPTIONAL,
iso-standard-9541-dsnletteradd [29] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-dsnletterampl [30] IMPLICIT Rational OPTIONAL,
iso-standard-9541-minletteradd [31] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-minletterampl [32] IMPLICIT Rational OPTIONAL,
iso-standard-9541-maxletteradd [33] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-maxletterampl [34] IMPLICIT Rational OPTIONAL,
iso-standard-9541-glyphmetrics [35] IMPLICIT Glyph-Metrics OPTIONAL,
non-iso-properties [36] IMPLICIT Property-List OPTIONAL
}
Esc-Class-Code ::= INTEGER {not-applicable(0), monospace(1), proportional(2)}
Max-Extents ::= SEQUENCE {
max-minx [0] IMPLICIT Rel-Rational,
max-miny [1] IMPLICIT Rel-Rational,
max-maxx [2] IMPLICIT Rel-Rational,
max-maxy [3] IMPLICIT Rel-Rational
}
Sectors ::= SET {
iso-standard-9541-sector [0] IMPLICIT SEQUENCE OF Sector OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Sector ::= SEQUENCE {
sector-left [0] IMPLICIT Rel-Rational,
sector-right [1] IMPLICIT Rel-Rational
}
Adjusts ::= SET {
iso-standard-9541-adjust [0] IMPLICIT SET OF Adjust,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Adjust ::= SET {
iso-standard-9541-escadjname [0] IMPLICIT Global-Name,
adjust-properties [1] IMPLICIT Adjust-Properties
}
Adjust-Properties ::= SET {
iso-standard-9541-cpea [0] IMPLICIT CPEA-Properties OPTIONAL,
iso-standard-9541-sec [1] IMPLICIT SEC-Properties OPTIONAL,
non-iso-properties [2] IMPLICIT Property-List OPTIONAL
}
CPEA-Properties ::= SET {
iso-standard-9541-ncpeaforwd [0] IMPLICIT Cardinal,
iso-standard-9541-ncpeabackwd [1] IMPLICIT Cardinal,
iso-standard-9541-cpeax [2] SEQUENCE OF Rel-Rational OPTIONAL,
-- at least one required
iso-standard-9541-cpeay [3] SEQUENCE OF Rel-Rational OPTIONAL,
non-iso-properties [4] IMPLICIT Property-List OPTIONAL
}
SEC-Properties ::= SET {
iso-standard-9541-secx
[0] SEQUENCE OF
SEQUENCE {-- at least one required
rational [0] IMPLICIT Rational,
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
iso-standard-9541-secy
[1] SEQUENCE OF
SEQUENCE {-- at least one required
rational [0] IMPLICIT Rational,
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
non-iso-properties [2] IMPLICIT Property-List OPTIONAL
}
Scores ::= SET {
iso-standard-9541-Score [0] IMPLICIT SET OF Score OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Score ::= SEQUENCE {
iso-standard-9541-scorename [0] IMPLICIT Global-Name,
score-property-list [1] IMPLICIT Score-Properties
}
Score-Properties ::= SET {
iso-standard-9541-scoreoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-scoreoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-scorethick [2] IMPLICIT Rel-Rational OPTIONAL,
non-iso-properties [3] IMPLICIT Property-List OPTIONAL
}
Variant-Scripts ::= SET {
iso-standard-9541-vscript [0] IMPLICIT SET OF Vscript OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Vscript ::= SEQUENCE {
iso-standard-9541-vsname [0] IMPLICIT Global-Name,
vscript-property-list [1] IMPLICIT Vscript-Properties
}
Vscript-Properties ::= SET {
iso-standard-9541-vsoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-vsoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-vsscalex [2] IMPLICIT Rational OPTIONAL,
iso-standard-9541-vsscaley [3] IMPLICIT Rational OPTIONAL,
non-iso-properties [4] IMPLICIT Property-List OPTIONAL
}
Alignment-Spacing ::= SEQUENCE {
minlinesp-left [0] IMPLICIT Rel-Rational,
minlinesp-right [1] IMPLICIT Rel-Rational
}
Alignment-Modes ::= SET {
iso-standard-9541-align [0] IMPLICIT SET OF Alignment OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Alignment ::= SEQUENCE {
iso-standard-9541-alignname [0] IMPLICIT Global-Name,
alignment-property-list [1] IMPLICIT Align-Properties
}
Align-Properties ::= SET {
iso-standard-9541-alignoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-alignoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-alignscalex [2] IMPLICIT Rational OPTIONAL,
iso-standard-9541-alignscaley [3] IMPLICIT Rational OPTIONAL,
non-iso-properties [4] IMPLICIT Property-List OPTIONAL
}
Copyfits ::= SET {
iso-standard-9541-copyfit [0] IMPLICIT SET OF Copyfit OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Copyfit ::= SEQUENCE {
iso-standard-9541-copyfitname [0] IMPLICIT Global-Name,
copyfit-properties [1] IMPLICIT Copyfit-Properties
}
Copyfit-Properties ::= SET {
iso-standard-9541-copyfitmeasure [0] IMPLICIT Rational OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Glyph-Metrics ::= SET {
iso-standard-9541-gmetric [0] IMPLICIT SET OF Glyph-Property-List,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Glyph-Property-List ::= SEQUENCE {
iso-standard-9541-gname [0] IMPLICIT Global-Name,
glyph-properties [1] IMPLICIT Glyph-Properties
}
Glyph-Properties ::= SET {
iso-standard-9541-px [0] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-py [1] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-ex [2] IMPLICIT Rel-Rational,
iso-standard-9541-ey [3] IMPLICIT Rel-Rational,
iso-standard-9541-ext [4] IMPLICIT Extents,
iso-standard-9541-lgs [5] IMPLICIT Ligatures OPTIONAL,
iso-standard-9541-peas [6] IMPLICIT P-Adjusts OPTIONAL,
iso-standard-9541-cpeai [7] IMPLICIT C-Indicator OPTIONAL,
iso-standard-9541-eai [8] IMPLICIT E-Code OPTIONAL,
iso-standard-9541-minex [9] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-miney [10] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-maxex [11] IMPLICIT Rel-Rational OPTIONAL,
iso-standard-9541-maxey [12] IMPLICIT Rel-Rational OPTIONAL,
non-iso-properties [13] IMPLICIT Property-List OPTIONAL
}
Extents ::= SET {
minx [0] IMPLICIT Rel-Rational OPTIONAL,
miny [1] IMPLICIT Rel-Rational OPTIONAL,
maxx [2] IMPLICIT Rel-Rational OPTIONAL,
maxy [3] IMPLICIT Rel-Rational OPTIONAL
}
Ligatures ::= SET {
iso-standard-9541-lg [0] IMPLICIT SET OF Ligature OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
Ligature ::= SET {
iso-standard-9541-lgn [0] IMPLICIT Global-Name,
iso-standard-9541-lgsn [1] SEQUENCE OF Global-Name
}
P-Adjusts ::= SET {
iso-standard-9541-pea [0] IMPLICIT SET OF P-Adjust OPTIONAL,
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
}
P-Adjust ::= SEQUENCE {
iso-standard-9541-pean [0] IMPLICIT Global-Name,
p-adjust-property-list [1] IMPLICIT P-Adjust-Properties
}
P-Adjust-Properties ::= SET {
iso-standard-9541-peax
[0] SEQUENCE OF
SEQUENCE {-- at least one required
global-name [0] IMPLICIT Global-Name,
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
iso-standard-9541-peay
[1] SEQUENCE OF
SEQUENCE {-- at least one required
global-name [0] IMPLICIT Global-Name,
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
iso-standard-9541-speaforwdx [2] SEQUENCE OF Rel-Rational OPTIONAL,
iso-standard-9541-speaforwdy [3] SEQUENCE OF Rel-Rational OPTIONAL,
iso-standard-9541-speabackwdx [4] SEQUENCE OF Rel-Rational OPTIONAL,
iso-standard-9541-speabackwdy [5] SEQUENCE OF Rel-Rational OPTIONAL,
non-iso-properties [6] IMPLICIT Property-List OPTIONAL
}
C-Indicator ::= SEQUENCE {
c-forward [0] IMPLICIT Cardinal,
c-backward [1] IMPLICIT Cardinal
}
E-Code ::= INTEGER {
not-applicable(0), letter-space(1), word-space(2), no-adjust(3)}
-- The following Data Types are used in the above structures
-- The following Data Types are used in the above structures
Property ::= SEQUENCE {
property-name [0] Global-Name,
property-value [1] Property-Value
}
Property-Value ::= CHOICE {
value [0] Value,
value-list [1] Value-List,
ordered-value-list [2] Ordered-Value-List,
property-list [3] Property-List,
ordered-property-list [4] Ordered-Property-List
}
Value-List ::= SET OF Value
Ordered-Value-List ::= SEQUENCE OF Value
Property-List ::= SET OF Property
Ordered-Property-List ::= SEQUENCE OF Property
Value ::= CHOICE {
global-Name [0] Global-Name,
match-String [1] Match-String,
message [2] Message,
octetString [3] OCTET STRING,
boolean [4] BOOLEAN,
integer [5] Integer,
cardinal [6] Cardinal,
code [7] Code,
rational [8] Rational,
rel-Rational [9] Rel-Rational,
angle [10] Angle,
proprietary-Data [11] Proprietary-Data
}
Global-Name ::= SEQUENCE {
-- see global name note at the end of clause 6.1
prefix-index [0] IMPLICIT Code OPTIONAL,
name-value [1] IMPLICIT Structured-Name
}
Match-String ::= CHOICE {
numeric [0] NumericString,
printable [1] PrintableString,
teletex [2] TeletexString,
videotex [3] VideotexString,
visible [4] VisibleString,
ia5 [5] IA5String,
graphic [6] GraphicString,
general [7] GeneralString
}
Message ::= CHOICE {
numeric [0] NumericString,
printable [1] PrintableString,
teletex [2] TeletexString,
videotex [3] VideotexString,
visible [4] VisibleString,
ia5 [5] IA5String,
graphic [6] GraphicString,
general [7] GeneralString
}
Integer ::= INTEGER {first(-2147483648), last(2147483647)}
Cardinal ::= INTEGER {first(0), last(4294967295)}
Code ::= INTEGER {first(0), last(255)}
Rational ::= SEQUENCE {
numerator [0] IMPLICIT INTEGER,
denominator [1] IMPLICIT INTEGER {first(1), last(2147483647)} OPTIONAL
}
-- denominator defaults to 1
Rel-Rational ::= Rational
-- expresses glyph coordinate units
-- denominator defaults to relunits
Angle ::=
Rational
-- expresses units of degrees, with a
-- value range of -360 to +360
-- denominator defaults to 1
Proprietary-Data ::= SEQUENCE {
prop-data-message [0] Message OPTIONAL,
prop-data-key [1] IMPLICIT OCTET STRING OPTIONAL,
prop-data [2] IMPLICIT OCTET STRING
}
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D