|
Section 4.3: Culture Description File |
 |
The Culture Description file contains all of the cultural specification components defined in ISO/IEC 14652 except for the string ordering component. Despite the complexity of data structures specified in the following, in practice it is the smallest of the three binary file formats.
Header
Entity |
Octets |
Comment |
code kind |
1 |
class CODE_KINDS |
<Char Groups> |
|
|
<Cash Data> |
|
|
<Time Data> |
|
|
<Number Data> |
|
|
<Answers> |
|
|
paper size present |
1 |
class BOOL |
[<Paper Size>] |
|
|
names present |
1 |
class BOOL |
[<Name Data>] |
|
|
address present |
1 |
class BOOL |
[<Address Data>] |
|
|
phone present |
1 |
class BOOL |
[<Phone Data>] |
|
|
units present |
1 |
class BOOL |
[<Measurement Units>] |
|
|
version present |
1 |
class BOOL |
[<Version Data>] |
|
|
Char Groups
Entity |
Octets |
Name |
Comment |
classes count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
Comment |
class kind |
1 |
class CODE_KINDS |
<One Class> |
|
|
|
"0xffffffff " |
4 |
|
a flag |
map count |
1 |
b |
|
|
>b times< |
|
|
|
Entity |
Octets |
|
map kind |
1 |
class CHAR_MAPPINGS |
<One Map> |
|
|
|
"0xffffffff " |
4 |
|
a flag |
One Class
Entity |
Octets |
Name |
|
code size (octets) |
1 |
a |
|
range count |
1 |
b |
|
|
>b times< |
|
|
|
Entity |
Octets |
range low |
a |
range high |
a |
|
|
One Map
Entity |
Octets |
Name |
|
code size (octets) |
1 |
a |
|
maplet count |
1 |
b |
|
|
>b times< |
|
|
|
Entity |
Octets |
base code |
a |
offset |
a |
count |
a |
|
|
Note that in the above structure the offset is a signed number
formed from the given number of octets.
Cash Data
Entity |
Octets |
Comment |
<Cash Format> |
|
local |
<Cash Format> |
|
international |
<Cash Format> |
|
duo local |
<Cash Format> |
|
duo international |
Sized(valid from date) |
|
|
Sized(valid to date) |
|
|
Sized(duo valid from date) |
|
|
Sized(duo valid to date) |
|
|
exchange rate numerator |
4 |
|
exchange rate denominator |
4 |
|
|
Cash Format
Entity |
Octets |
Name |
Comment |
code kind |
1 |
|
class CODE_KINDS |
Sized(decimal mark) |
|
|
|
Sized(thousands separator) |
|
|
|
Sized(positive sign) |
|
|
|
Sized(negative sign) |
|
|
|
section count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
section digit count |
1 |
|
Sized(currency symbol) |
|
|
|
places precision |
1 |
|
|
plus symbol precedes |
1 |
|
class BOOL |
plus separation spec |
1 |
|
class MON_SPACING |
plus sign position |
1 |
|
class SIGN_POSITIONS |
minus symbol precedes |
1 |
|
class BOOL |
minus separation spec |
1 |
|
class MON_SPACING |
minus sign position |
1 |
|
class SIGN_POSITIONS |
|
Note that there are a number of single octet logical values in the time and
date structure which have the bit-pattern 0x1 if true - in which case the
following entity is next. If the value is 0x0 (false) then the following
entity is omitted from the file. The entity is written in square brackets to
indicate this possibility.
Time Data
Entity |
Octets |
Comment |
date format present |
1 |
|
[<Date/Time Format>] |
|
date |
time format present |
1 |
|
[<Date/Time Format>] |
|
time |
date/time format present |
1 |
|
[<Date/Time Format>] |
|
date and time |
era date format present |
1 |
|
[<Date/Time Format>] |
|
era date |
era format present |
1 |
|
[<Date/Time Format>] |
|
era |
era year format present |
1 |
|
[<Date/Time Format>] |
|
era year |
relative time format present |
1 |
|
[<Date/Time Format>] |
|
relative time |
weekday count |
1 |
|
first day in week |
1 |
|
first week contains |
1 |
|
first day display |
1 |
|
first workday |
1 |
|
calendar direction |
1 |
class CAL_DISPLAY_ORDERS |
time zones present |
1 |
|
[<Time Zones>] |
|
|
alt digits present |
1 |
|
[<Alternate Digits>] |
|
|
|
Date/Time Format
Entity |
Octets |
Name |
Comment |
code kind |
1 |
|
class CODE_KINDS |
Sized(prefix) |
|
|
|
element count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
Comments |
modifier |
1 |
class DT_CODES |
component |
1 |
class DT_CODES |
Sized(separator) |
|
|
|
|
Time Zones
Entity |
Octets |
Name |
time zone count |
1 |
a |
|
>a times< |
|
|
|
|
Time Zone
Entity |
Octets |
Comment |
Sized(standard time name) |
|
|
<Elapsed Time> |
|
standard time offset |
standard offset added |
1 |
if West of UTC |
Sized(daylight saving time
name) |
|
|
<Elapsed Time> |
|
daylight saving time offset |
daylight saving offset added |
1 |
if West of UTC |
rule count |
1 |
a |
|
>a times< |
|
|
|
|
Elapsed Time
Entity |
Octets |
days since 31 Dec 1899 |
4 |
milliseconds |
4 |
Note that the days component of the elapsed time will inevitable be zero in
the context of a time zone specification!
TZ Rule
Entity |
Octets |
Comment |
range low |
4 |
|
range high |
4 |
|
<Rule Element> |
|
start DST |
<Rule Element> |
|
stop DST |
|
Rule Element
Entity |
Octets |
Comments |
day number |
2 |
in week |
week number |
1 |
in month |
month |
1 |
in year |
time of day |
4 |
in milliseconds |
|
Alternate Digits
Entity |
Octets |
Name |
|
digit count |
1 |
a |
|
|
>a times< |
|
|
|
|
Alternate digits are given in sequence from the encoding for the numeric value zero upwards.
Number Format
Entity |
Octets |
Name |
Comments |
code kind |
1 |
|
class CODE_KINDS |
Sized(decimal mark) |
|
|
|
Sized(thousands separator) |
|
|
|
number of sections |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
section length (chars) |
|
|
Answers
Reg Expression |
Sized(Yes) |
Sized(No) |
Paper Size
Entity |
Octets |
Comments |
height |
4 |
in millimetres |
width |
4 |
in millimetres |
Name Data
Entity |
Octets |
format present |
1 |
[<Name Format>] |
|
cardinality |
1 |
Sized(General) |
|
Sized(Mr) |
|
Sized(Mrs) |
|
Sized(Miss) |
|
Sized(Ms) |
|
|
Name Format
Entity |
Octets |
Name |
Comments |
code kind |
1 |
|
class CODE_KINDS |
Sized(prefix) |
|
|
|
component count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
Comments |
modifier code |
1 |
class
NAME_CODES |
component code |
1 |
class
NAME_CODES |
Sized(separator) |
|
|
|
|
Address Data
Entity |
Octets |
Name |
Comments |
<Address Format> |
|
|
|
code kind |
1 |
|
class CODE_KINDS |
component count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
Comments |
key |
1 |
class
ADDRESS_KEYS |
Sized(data string) |
|
|
|
|
Address Format
Entity |
Octets |
Name |
Comments |
code kind |
1 |
|
class CODE_KINDS |
Sized(prefix) |
|
|
|
component count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
Comments |
modifier code |
1 |
class
ADDR_CODES |
component code |
1 |
class
ADDR_CODES |
Sized(separator) |
|
|
|
|
Phone Data
Entity |
Octets |
Comment |
international format present |
1 |
class BOOL |
[<Phone Format>] |
|
international |
domestic format present |
1 |
class BOOL |
[<Phone Format>] |
|
domestic |
Sized(foreign access) |
|
|
Sized(domestic access) |
|
|
|
Phone Format
Entity |
Octets |
Name |
Comments |
code kind |
1 |
|
class CODE_KINDS |
Sized(prefix) |
|
|
|
component count |
1 |
a |
|
|
>a times< |
|
|
|
Entity |
Octets |
Comments |
modifier code |
1 |
class
PHONE_CODES |
component code |
1 |
class
PHONE_CODES |
Sized(separator) |
|
|
|
|
Version Data
Entity |
Octets |
Name |
Comment |
code kind |
1 |
|
class CODE_KIND |
element count |
1 |
a |
|
|
>a times< |
|
|
|
|
category count |
1 |
b |
|
|
>b times< |
|
|
|
Entity |
Octets |
Comment |
category spec |
1 |
class
CATEGORIES |
|
date |
4 |
|
days since 31 Dec 1899 |
Comments
or enquiries should be made to Keith Hopper.
Page last modified: Tuesday, 24 October
2000. |
|