1
-- Module ISO-STANDARD-9541-FONT-ATTRIBUTE-SET (ISO:1991)
3
-- Copyright � ISO/IEC 1991. This version of
4
-- this ASN.1 module is part of ISO|IEC 9541-2:1991;
5
-- see the ISO|IEC text itself for full legal notices.
7
ISO-STANDARD-9541-FONT-ATTRIBUTE-SET {1 0 9541 2 2} DEFINITIONS ::=
10
EXPORTS Font-Attribute-Set;
12
IMPORTS Structured-Name
13
FROM ISO9541-SN {1 0 9541 2 3};
15
Font-Attribute-Set ::= SEQUENCE {
16
name-prefixes [0] IMPLICIT SET OF Name-Prefix OPTIONAL,
17
iso-standard-9541-fontname [1] IMPLICIT Global-Name OPTIONAL,
18
iso-standard-9541-fontdescription [2] IMPLICIT Font-Description OPTIONAL,
19
iso-standard-9541-wrmodes [3] IMPLICIT Writing-Modes OPTIONAL,
20
non-iso-properties [5] IMPLICIT Property-List OPTIONAL
23
Font-Description ::= SET {
24
iso-standard-9541-dataversion [0] IMPLICIT Data-Version OPTIONAL,
25
iso-standard-9541-Standardversion [1] IMPLICIT Cardinal OPTIONAL,
26
iso-standard-9541-datasource [2] IMPLICIT Global-Name OPTIONAL,
27
iso-standard-9541-datacopyright [3] Message OPTIONAL,
28
iso-standard-9541-dsnsource [4] IMPLICIT Global-Name OPTIONAL,
29
iso-standard-9541-dsncopyright [5] Message OPTIONAL,
30
iso-standard-9541-relunits [6] IMPLICIT Cardinal DEFAULT 1,
31
iso-standard-9541-typeface [7] Message OPTIONAL,
32
iso-standard-9541-fontfamily [8] Match-String OPTIONAL,
33
iso-standard-9541-posture [9] IMPLICIT Posture-Code OPTIONAL,
34
iso-standard-9541-postureangle [10] IMPLICIT Angle OPTIONAL,
35
iso-standard-9541-weight [11] IMPLICIT Weight-Code OPTIONAL,
36
iso-standard-9541-propwidth [12] IMPLICIT Width-Code OPTIONAL,
37
iso-standard-9541-glyphcomp [13] IMPLICIT Glyph-Complement OPTIONAL,
38
iso-standard-9541-nomwrmode [14] IMPLICIT Global-Name OPTIONAL,
39
iso-standard-9541-dsnsize [15] IMPLICIT Rational OPTIONAL,
40
iso-standard-9541-minsize [16] IMPLICIT Rational OPTIONAL,
41
iso-standard-9541-maxsize [17] IMPLICIT Rational OPTIONAL,
42
iso-standard-9541-capheight [18] IMPLICIT Rel-Rational OPTIONAL,
43
iso-standard-9541-lcheight [19] IMPLICIT Rel-Rational OPTIONAL,
44
iso-standard-9541-dsngroup [20] IMPLICIT Design-Group OPTIONAL,
45
iso-standard-9541-structure [21] IMPLICIT Structure-Code OPTIONAL,
46
iso-standard-9541-minfeatsz [22] IMPLICIT Rel-Rational OPTIONAL,
47
iso-standard-9541-nomcapstemwidth [23] IMPLICIT Rel-Rational OPTIONAL,
48
iso-standard-9541-nomlcstemwidth [24] IMPLICIT Rel-Rational OPTIONAL,
49
non-iso-properties [25] IMPLICIT Property-List OPTIONAL
52
Name-Prefix ::= SEQUENCE {
53
--see NOTE 3 at the end of 6.1
54
index [0] IMPLICIT Code,
55
prefix [1] IMPLICIT Structured-Name
58
Data-Version ::= SEQUENCE {
59
major [0] IMPLICIT Cardinal OPTIONAL,
60
minor [1] IMPLICIT Cardinal OPTIONAL,
61
timestamp [2] IMPLICIT UTCTime OPTIONAL
64
Posture-Code ::= INTEGER {
65
not-applicable(0), upright(1), oblique-forward(2), oblique-backward(3),
66
italic-forward(4), italic-backward(5), other(6)}
68
Weight-Code ::= INTEGER {
69
not-applicable(0), ultra-light(1), extra-light(2), light(3), semi-light(4),
70
medium(5), semi-bold(6), bold(7), extra-bold(8), ultra-bold(9)}
72
Width-Code ::= INTEGER {
73
not-applicable(0), ultra-condensed(1), extra-condensed(2), condensed(3),
74
semi-condensed(4), medium(5), semi-expanded(6), expanded(7),
75
extra-expanded(8), ultra-expanded(9)}
77
Glyph-Complement ::= SEQUENCE {
78
-- at least one included glyph list or at least one
79
-- included glyph collection list is mandatory
80
iso-standard-9541-numglyphs [0] IMPLICIT Cardinal OPTIONAL,
81
iso-standard-9541-incglyphcols [1] IMPLICIT SET OF Global-Name OPTIONAL,
82
-- at least one is required
83
iso-standard-9541-excglyphcols [2] IMPLICIT SET OF Global-Name OPTIONAL,
84
-- at least one is required
85
iso-standard-9541-incglyphs [3] IMPLICIT SET OF Global-Name OPTIONAL,
86
-- at least one is required
87
iso-standard-9541-excglyphs [4] IMPLICIT SET OF Global-Name OPTIONAL,
88
-- at least one is required
89
non-iso-properties [5] IMPLICIT Property-List OPTIONAL
92
Design-Group ::= SEQUENCE {
93
-- see 9541-1 Annex-A for code values
94
group-code [0] IMPLICIT Code,
95
subgroup-code [1] IMPLICIT Code,
96
specific-group-code [2] IMPLICIT Code
99
Structure-Code ::= INTEGER {not-applicable(0), solid(1), outline(2)}
101
Writing-Modes ::= SET {
102
iso-standard-9541-wrmode [0] IMPLICIT SET OF Writing-Mode OPTIONAL,
103
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
106
Writing-Mode ::= SEQUENCE {
107
iso-standard-9541-wrmodename [0] IMPLICIT Global-Name,
108
wrmode-properties [1] IMPLICIT Modal-Properties
111
Modal-Properties ::= SET {
112
iso-standard-9541-nomescdir [0] IMPLICIT Angle OPTIONAL,
113
iso-standard-9541-escclass [1] IMPLICIT Esc-Class-Code OPTIONAL,
114
iso-standard-9541-avgescx [2] IMPLICIT Rel-Rational OPTIONAL,
115
iso-standard-9541-avgescy [3] IMPLICIT Rel-Rational OPTIONAL,
116
iso-standard-9541-avglcescx [4] IMPLICIT Rel-Rational OPTIONAL,
117
iso-standard-9541-avglcescy [5] IMPLICIT Rel-Rational OPTIONAL,
118
iso-standard-9541-avgcapescx [6] IMPLICIT Rel-Rational OPTIONAL,
119
iso-standard-9541-avgcapescy [7] IMPLICIT Rel-Rational OPTIONAL,
120
iso-standard-9541-tabescx [8] IMPLICIT Rel-Rational OPTIONAL,
121
iso-standard-9541-tabescy [9] IMPLICIT Rel-Rational OPTIONAL,
122
iso-standard-9541-maxfontext [10] IMPLICIT Max-Extents OPTIONAL,
123
iso-standard-9541-sectors [11] IMPLICIT Sectors OPTIONAL,
124
iso-standard-9541-escadjs [12] IMPLICIT SET OF Adjusts OPTIONAL,
125
iso-standard-9541-minescadjsze [13] IMPLICIT Rational OPTIONAL,
126
iso-standard-9541-maxescadjsze [14] IMPLICIT Rational OPTIONAL,
127
iso-standard-9541-scores [15] IMPLICIT Scores OPTIONAL,
128
iso-standard-9541-vscripts [16] IMPLICIT Variant-Scripts OPTIONAL,
129
iso-standard-9541-minlinesp [17] IMPLICIT Alignment-Spacing OPTIONAL,
130
iso-standard-9541-minanascale [18] IMPLICIT Rational OPTIONAL,
131
iso-standard-9541-maxanascale [19] IMPLICIT Rational OPTIONAL,
132
iso-standard-9541-nomalign [20] IMPLICIT Global-Name OPTIONAL,
133
iso-standard-9541-alignmodes [21] IMPLICIT Alignment-Modes OPTIONAL,
134
iso-standard-9541-copyfits [22] IMPLICIT Copyfits OPTIONAL,
135
iso-standard-9541-dsnwordadd [23] IMPLICIT Rel-Rational OPTIONAL,
136
iso-standard-9541-dsnwordampl [24] IMPLICIT Rational OPTIONAL,
137
iso-standard-9541-minwordadd [25] IMPLICIT Rel-Rational OPTIONAL,
138
iso-standard-9541-minwordampl [26] IMPLICIT Rational OPTIONAL,
139
iso-standard-9541-maxwordadd [27] IMPLICIT Rel-Rational OPTIONAL,
140
iso-standard-9541-maxwordampl [28] IMPLICIT Rational OPTIONAL,
141
iso-standard-9541-dsnletteradd [29] IMPLICIT Rel-Rational OPTIONAL,
142
iso-standard-9541-dsnletterampl [30] IMPLICIT Rational OPTIONAL,
143
iso-standard-9541-minletteradd [31] IMPLICIT Rel-Rational OPTIONAL,
144
iso-standard-9541-minletterampl [32] IMPLICIT Rational OPTIONAL,
145
iso-standard-9541-maxletteradd [33] IMPLICIT Rel-Rational OPTIONAL,
146
iso-standard-9541-maxletterampl [34] IMPLICIT Rational OPTIONAL,
147
iso-standard-9541-glyphmetrics [35] IMPLICIT Glyph-Metrics OPTIONAL,
148
non-iso-properties [36] IMPLICIT Property-List OPTIONAL
151
Esc-Class-Code ::= INTEGER {not-applicable(0), monospace(1), proportional(2)}
153
Max-Extents ::= SEQUENCE {
154
max-minx [0] IMPLICIT Rel-Rational,
155
max-miny [1] IMPLICIT Rel-Rational,
156
max-maxx [2] IMPLICIT Rel-Rational,
157
max-maxy [3] IMPLICIT Rel-Rational
161
iso-standard-9541-sector [0] IMPLICIT SEQUENCE OF Sector OPTIONAL,
162
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
165
Sector ::= SEQUENCE {
166
sector-left [0] IMPLICIT Rel-Rational,
167
sector-right [1] IMPLICIT Rel-Rational
171
iso-standard-9541-adjust [0] IMPLICIT SET OF Adjust,
172
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
176
iso-standard-9541-escadjname [0] IMPLICIT Global-Name,
177
adjust-properties [1] IMPLICIT Adjust-Properties
180
Adjust-Properties ::= SET {
181
iso-standard-9541-cpea [0] IMPLICIT CPEA-Properties OPTIONAL,
182
iso-standard-9541-sec [1] IMPLICIT SEC-Properties OPTIONAL,
183
non-iso-properties [2] IMPLICIT Property-List OPTIONAL
186
CPEA-Properties ::= SET {
187
iso-standard-9541-ncpeaforwd [0] IMPLICIT Cardinal,
188
iso-standard-9541-ncpeabackwd [1] IMPLICIT Cardinal,
189
iso-standard-9541-cpeax [2] SEQUENCE OF Rel-Rational OPTIONAL,
190
-- at least one required
191
iso-standard-9541-cpeay [3] SEQUENCE OF Rel-Rational OPTIONAL,
192
non-iso-properties [4] IMPLICIT Property-List OPTIONAL
195
SEC-Properties ::= SET {
196
iso-standard-9541-secx
198
SEQUENCE {-- at least one required
199
rational [0] IMPLICIT Rational,
200
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
201
iso-standard-9541-secy
203
SEQUENCE {-- at least one required
204
rational [0] IMPLICIT Rational,
205
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
206
non-iso-properties [2] IMPLICIT Property-List OPTIONAL
210
iso-standard-9541-Score [0] IMPLICIT SET OF Score OPTIONAL,
211
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
215
iso-standard-9541-scorename [0] IMPLICIT Global-Name,
216
score-property-list [1] IMPLICIT Score-Properties
219
Score-Properties ::= SET {
220
iso-standard-9541-scoreoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
221
iso-standard-9541-scoreoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
222
iso-standard-9541-scorethick [2] IMPLICIT Rel-Rational OPTIONAL,
223
non-iso-properties [3] IMPLICIT Property-List OPTIONAL
226
Variant-Scripts ::= SET {
227
iso-standard-9541-vscript [0] IMPLICIT SET OF Vscript OPTIONAL,
228
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
231
Vscript ::= SEQUENCE {
232
iso-standard-9541-vsname [0] IMPLICIT Global-Name,
233
vscript-property-list [1] IMPLICIT Vscript-Properties
236
Vscript-Properties ::= SET {
237
iso-standard-9541-vsoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
238
iso-standard-9541-vsoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
239
iso-standard-9541-vsscalex [2] IMPLICIT Rational OPTIONAL,
240
iso-standard-9541-vsscaley [3] IMPLICIT Rational OPTIONAL,
241
non-iso-properties [4] IMPLICIT Property-List OPTIONAL
244
Alignment-Spacing ::= SEQUENCE {
245
minlinesp-left [0] IMPLICIT Rel-Rational,
246
minlinesp-right [1] IMPLICIT Rel-Rational
249
Alignment-Modes ::= SET {
250
iso-standard-9541-align [0] IMPLICIT SET OF Alignment OPTIONAL,
251
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
254
Alignment ::= SEQUENCE {
255
iso-standard-9541-alignname [0] IMPLICIT Global-Name,
256
alignment-property-list [1] IMPLICIT Align-Properties
259
Align-Properties ::= SET {
260
iso-standard-9541-alignoffsetx [0] IMPLICIT Rel-Rational OPTIONAL,
261
iso-standard-9541-alignoffsety [1] IMPLICIT Rel-Rational OPTIONAL,
262
iso-standard-9541-alignscalex [2] IMPLICIT Rational OPTIONAL,
263
iso-standard-9541-alignscaley [3] IMPLICIT Rational OPTIONAL,
264
non-iso-properties [4] IMPLICIT Property-List OPTIONAL
268
iso-standard-9541-copyfit [0] IMPLICIT SET OF Copyfit OPTIONAL,
269
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
272
Copyfit ::= SEQUENCE {
273
iso-standard-9541-copyfitname [0] IMPLICIT Global-Name,
274
copyfit-properties [1] IMPLICIT Copyfit-Properties
277
Copyfit-Properties ::= SET {
278
iso-standard-9541-copyfitmeasure [0] IMPLICIT Rational OPTIONAL,
279
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
282
Glyph-Metrics ::= SET {
283
iso-standard-9541-gmetric [0] IMPLICIT SET OF Glyph-Property-List,
284
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
287
Glyph-Property-List ::= SEQUENCE {
288
iso-standard-9541-gname [0] IMPLICIT Global-Name,
289
glyph-properties [1] IMPLICIT Glyph-Properties
292
Glyph-Properties ::= SET {
293
iso-standard-9541-px [0] IMPLICIT Rel-Rational OPTIONAL,
294
iso-standard-9541-py [1] IMPLICIT Rel-Rational OPTIONAL,
295
iso-standard-9541-ex [2] IMPLICIT Rel-Rational,
296
iso-standard-9541-ey [3] IMPLICIT Rel-Rational,
297
iso-standard-9541-ext [4] IMPLICIT Extents,
298
iso-standard-9541-lgs [5] IMPLICIT Ligatures OPTIONAL,
299
iso-standard-9541-peas [6] IMPLICIT P-Adjusts OPTIONAL,
300
iso-standard-9541-cpeai [7] IMPLICIT C-Indicator OPTIONAL,
301
iso-standard-9541-eai [8] IMPLICIT E-Code OPTIONAL,
302
iso-standard-9541-minex [9] IMPLICIT Rel-Rational OPTIONAL,
303
iso-standard-9541-miney [10] IMPLICIT Rel-Rational OPTIONAL,
304
iso-standard-9541-maxex [11] IMPLICIT Rel-Rational OPTIONAL,
305
iso-standard-9541-maxey [12] IMPLICIT Rel-Rational OPTIONAL,
306
non-iso-properties [13] IMPLICIT Property-List OPTIONAL
310
minx [0] IMPLICIT Rel-Rational OPTIONAL,
311
miny [1] IMPLICIT Rel-Rational OPTIONAL,
312
maxx [2] IMPLICIT Rel-Rational OPTIONAL,
313
maxy [3] IMPLICIT Rel-Rational OPTIONAL
317
iso-standard-9541-lg [0] IMPLICIT SET OF Ligature OPTIONAL,
318
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
322
iso-standard-9541-lgn [0] IMPLICIT Global-Name,
323
iso-standard-9541-lgsn [1] SEQUENCE OF Global-Name
327
iso-standard-9541-pea [0] IMPLICIT SET OF P-Adjust OPTIONAL,
328
non-iso-properties [1] IMPLICIT Property-List OPTIONAL
331
P-Adjust ::= SEQUENCE {
332
iso-standard-9541-pean [0] IMPLICIT Global-Name,
333
p-adjust-property-list [1] IMPLICIT P-Adjust-Properties
336
P-Adjust-Properties ::= SET {
337
iso-standard-9541-peax
339
SEQUENCE {-- at least one required
340
global-name [0] IMPLICIT Global-Name,
341
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
342
iso-standard-9541-peay
344
SEQUENCE {-- at least one required
345
global-name [0] IMPLICIT Global-Name,
346
rel-rational [1] IMPLICIT Rel-Rational} OPTIONAL,
347
iso-standard-9541-speaforwdx [2] SEQUENCE OF Rel-Rational OPTIONAL,
348
iso-standard-9541-speaforwdy [3] SEQUENCE OF Rel-Rational OPTIONAL,
349
iso-standard-9541-speabackwdx [4] SEQUENCE OF Rel-Rational OPTIONAL,
350
iso-standard-9541-speabackwdy [5] SEQUENCE OF Rel-Rational OPTIONAL,
351
non-iso-properties [6] IMPLICIT Property-List OPTIONAL
354
C-Indicator ::= SEQUENCE {
355
c-forward [0] IMPLICIT Cardinal,
356
c-backward [1] IMPLICIT Cardinal
360
not-applicable(0), letter-space(1), word-space(2), no-adjust(3)}
362
-- The following Data Types are used in the above structures
363
-- The following Data Types are used in the above structures
364
Property ::= SEQUENCE {
365
property-name [0] Global-Name,
366
property-value [1] Property-Value
369
Property-Value ::= CHOICE {
371
value-list [1] Value-List,
372
ordered-value-list [2] Ordered-Value-List,
373
property-list [3] Property-List,
374
ordered-property-list [4] Ordered-Property-List
377
Value-List ::= SET OF Value
379
Ordered-Value-List ::= SEQUENCE OF Value
381
Property-List ::= SET OF Property
383
Ordered-Property-List ::= SEQUENCE OF Property
386
global-Name [0] Global-Name,
387
match-String [1] Match-String,
389
octetString [3] OCTET STRING,
392
cardinal [6] Cardinal,
394
rational [8] Rational,
395
rel-Rational [9] Rel-Rational,
397
proprietary-Data [11] Proprietary-Data
400
Global-Name ::= SEQUENCE {
401
-- see global name note at the end of clause 6.1
402
prefix-index [0] IMPLICIT Code OPTIONAL,
403
name-value [1] IMPLICIT Structured-Name
406
Match-String ::= CHOICE {
407
numeric [0] NumericString,
408
printable [1] PrintableString,
409
teletex [2] TeletexString,
410
videotex [3] VideotexString,
411
visible [4] VisibleString,
413
graphic [6] GraphicString,
414
general [7] GeneralString
418
numeric [0] NumericString,
419
printable [1] PrintableString,
420
teletex [2] TeletexString,
421
videotex [3] VideotexString,
422
visible [4] VisibleString,
424
graphic [6] GraphicString,
425
general [7] GeneralString
428
Integer ::= INTEGER {first(-2147483648), last(2147483647)}
430
Cardinal ::= INTEGER {first(0), last(4294967295)}
432
Code ::= INTEGER {first(0), last(255)}
434
Rational ::= SEQUENCE {
435
numerator [0] IMPLICIT INTEGER,
436
denominator [1] IMPLICIT INTEGER {first(1), last(2147483647)} OPTIONAL
439
-- denominator defaults to 1
440
Rel-Rational ::= Rational
442
-- expresses glyph coordinate units
443
-- denominator defaults to relunits
447
-- expresses units of degrees, with a
448
-- value range of -360 to +360
449
-- denominator defaults to 1
450
Proprietary-Data ::= SEQUENCE {
451
prop-data-message [0] Message OPTIONAL,
452
prop-data-key [1] IMPLICIT OCTET STRING OPTIONAL,
453
prop-data [2] IMPLICIT OCTET STRING
458
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D