#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
#   Licensed to the Apache Software Foundation (ASF) under one or more
#   contributor license agreements. See the NOTICE file distributed
#   with this work for additional information regarding copyright
#   ownership. The ASF licenses this file to you under the Apache
#   License, Version 2.0 (the "License"); you may not use this file
#   except in compliance with the License. You may obtain a copy of
#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
#

# dumper settings ============================================================
#
# Basic concepts
#
# - Character encoding of dumper ini files is UTF-8.
# - Whitespace characters are generally stripped, e.g. at start and end of
#   lines, before/after equal signs, commas, etc.
# - Comments start with the hash (#) or semicolon (;) character. Leading
#   whitespace characters are ignored.
#
# ----------------------------------------------------------------------------

# Enable entire dumper (default=off). This option does not affect the option
# 'enable-import'.
#   0=off, 1=on
enable-dumper=1

# Enable import after dumping (default=on). Disabling this option allows
# to dump a file without loading it. This option is independent from the
# 'enable-dumper' option.
#   0=off, 1=on
enable-import=1

# Maximum size of binary stream dumps (default=infinite).
max-binary-stream-size=65536

# Maximum size of binary data blocks in content dumps (default=infinite).
max-binary-data-size=128

# Shows unknown trailing data as binary dump (default=on).
#   0=off, 1=on
show-trailing-unknown=1

# Shows the absolute stream position of records in the record header field
# (default=on).
#   0=off, 1=on
show-record-position=0

# name lists =================================================================
#
# Syntax descriptions
#
# - Optional items are enclosed in brackets [].
# - Optional items that may be repeated are marked with an ellipsis (...).
# - Items in a set to choose from are separated by vertical lines (|).
# - <LISTNAME> denotes the name of a list. List names may consist of any non-
#   whitespace characters.
# - <value>, <firstvalue>, <bitfield>, <bitmask> etc. denote integer values.
#   Decimal and hexadecimal notation is supported, using C/C++ notation.
# - <bool> denotes a boolean value. Possible values are 0|1|false|true.
# - <constname> denotes a literal name for a constant or bit.
#
# ----------------------------------------------------------------------------
#
# constlist
#
# Defines names for a list of specific values.
#
# Syntax:
#
# constlist = <LISTNAME>
#   default = <constname>
#   include = <LISTNAME>[,<LISTNAME>...]
#   exclude = <value>[,<value>...]
#   quote-names = <bool>
#   <value> = <constname>
# end
#
# - default (optional): Declares <constname> as a default name for values not
#   specified in the name list. <constname> may be the empty string. If not
#   set, the literal string '?err:no-name' (unquoted) is the default name.
# - include (optional): Includes the specified name list(s) into the own list.
# - exclude (optional): Removes values from the name lists, useful e.g. after
#   a name list has been included.
# - quote-names (optional): Specifies whether to return the contained names
#   enclosed in single quote (') characters. Default is false.
#
# The order of the declarations is important, later declarations may overwrite
# names generated from earlier declarations.
#
# Example:
#
# constlist = EXAMPLE-CONSTLIST
#   1 = my-value
#   include = OTHER-LIST
#   exclude = 2,3
#   0x0004 = other-value
# end
#
# - Defines the name 'my-value' for the constant 1.
# - Includes 'OTHER-LIST' which may overwrite the name of the constant 1.
# - Excludes the names of constants 2 and 3, which may have been included from
#   the name list 'OTHER-LIST'.
# - Defines the name 'other-value' for the constant 4, which may overwrite the
#   name of this constant included from the name list 'OTHER-LIST'.
#
# ----------------------------------------------------------------------------
#
# multilist
#
# Defines names for contiguous ranges of values.
#
# Syntax:
#
# multilist = <LISTNAME>
#   default = <constname>
#   include = <LISTNAME>[,<LISTNAME>...]
#   exclude = <value>[,<value>...]
#   ignore-empty = <bool>
#   <firstvalue> = <constname>[,<constname>...]
# end
#
# - default (optional): See constlist above.
# - include (optional): See constlist above.
# - exclude (optional): See constlist above.
# - ignore-empty (optional): Specifies whether to skip empty names in a list.
#   - True = skips an empty entry, the default name will be generated.
#   - False = creates an empty string for the entry.
#   Default is true (skip empty entries).
#
# Examples:
#
# multilist = EXAMPLE-MULTILIST
#   0 = value0,value1,,value3
#   8 = value8
# end
#
# - Defines the names 'value0' for the constant 0, 'value1' for the constant
#   1, 'value3' for the constant 3, and 'value8' for the constant 8.
#
# multilist = EXAMPLE-MULTILIST-2
#   include = EXAMPLE-MULTILIST
#   ignore-empty = false
#   default = other
# end
#
# - Same as example above (includes EXAMPLE-MULTILIST), but defines the empty
#   string for the constant 2. Other constants (less than 0 or greater than 3
#   and not equal to 8) get the default name 'other'.
#
# ----------------------------------------------------------------------------
#
# shortlist
#
# Defines names for a contiguous range of values. The entire list definition
# is given in a single text line.
#
# Syntax:
#
# shortlist = <LISTNAME>,<firstvalue>,<constname>[,<constname>...]
#
# Uses default settings of the multi-list (i.e. skips empty entries).
#
# ----------------------------------------------------------------------------
#
# flagslist
#
# Defines names for single bits in a bit field.
#
# Syntax:
#
# flagslist = <LISTNAME>
#   include = <LISTNAME>[,<LISTNAME>...]
#   exclude = <bitfield>[,<bitfield>...]
#   ignore = <bitfield>
#   <bitmask> = <cname> | !<cname> | :<cname> | !<cname0>!<cname1>
# end
#
# - include (optional): See constlist above.
# - exclude (optional): See constlist above.
# - ignore (optional): Specifies bits to be ignored. Bits without an explicit
#   name and not set in this declaration will be shown as unknown. Default is
#   to not ignore a bit.
# - <bitmask>: The bit to be named. Must be a value with a single bit set.
#   - <cname> - Sets a name for the bit that will be shown if the bit is set.
#     Does not show anything if the bit is cleared.
#   - !<cname> - Sets a name for the bit that will be shown if the bit is
#     cleared. Does not show anything if the bit is set.
#   - :<cname> - Sets a name for the bit that will always be shown together
#     with the actual state of the bit, appended as ':on' or ':off'.
#   - !<cname0>!<cname1> - Sets a name for both the cleared bit (cname0), and
#     for the set bit (cname1).
#
# ----------------------------------------------------------------------------
#
# combilist
#
# Defines names for single bits and for embedded values in a bit field. This
# is an extension of the flagslist described above.
#
# Syntax:
#
# combilist = <LISTNAME>
#   include = <LISTNAME>[,<LISTNAME>...]
#   exclude = <bitmask>[,<bitmask>...]
#   ignore = <bitfield>
#   <bitmask> = <cname> | !<cname> | :<cname> | !<cname0>!<cname1>
#   <bitfield> = <datatype>,<dataformat>,<bitfieldname>[,<LISTNAME>[,options...]]
# end
#
# - include (optional): See constlist above.
# - exclude (optional): See constlist above.
# - ignore (optional): See flagslist above.
# - <bitmask>: See flagslist above.
# - <bitfield>: The mask of the embedded bitfield. Must be a value with
#   exactly one sequence of at least 2 consecutive bits.
#   - <datatype>: [u]int8 | [u]int16 | [u]int32 | [u]int64 | float | double
#   - <dataformat>: dec | hex | shorthex | bin | fix | bool
#   - <bitfieldname>: The name of the embedded bitfield.
#   - <LISTAME>: Optional name list with names for the values of the embedded
#     bitfield.
#   - options: Additional options for this bitfield:
#     - filter = <filterbitfield>~<filtervalue>: If set, the entire bitfield
#       will only be written, if the complete data item currently dumped
#       contains exactly the value specified in <filtervalue> in the bitfield
#       specified in <filterbitfield>. Otherwise, nothing is written. It is
#       possible to specify multiple filter rules for this bitfield. In that
#       case, the bitfield will be written, if at least one filter rule
#       applies for the current data item.
#     - noshift = <bool>: If set to 'true', the extracted value will be
#       shifted to the right (normalized). If set to 'false', the value will
#       be written unshifted. Default is 'true'.
#
# ----------------------------------------------------------------------------
#
# unitconverter
#
# Converts values and appends a unit name.
#
# Syntax:
#
# unitconverter = <LISTNAME>,[/]<factor>[,<unitname>]
#
# ----------------------------------------------------------------------------

unitconverter=CONV-DEC,1
unitconverter=CONV-PERCENT,1,%
unitconverter=CONV-FLOAT-TO-PERC,100,%
unitconverter=CONV-DEG,1,°
unitconverter=CONV-HMM-TO-CM,/1000,cm
unitconverter=CONV-INCH-TO-CM,2.54,cm
unitconverter=CONV-PT-TO-CM,/28.346457,cm
unitconverter=CONV-PT1616-TO-CM,/1857713.4,cm
unitconverter=CONV-TWIP-TO-CM,/566.92913,cm
unitconverter=CONV-TWIP-TO-PT,/20,pt
unitconverter=CONV-EMU-TO-CM,/36000,cm

constlist=BOOLEAN
  0=FALSE
  default=TRUE
end

combilist=RK-FLAGS
  0x00000001=div-100
  0x00000002=integer
  0xFFFFFFFC=int32,hex,value
end

constlist=CHARSET
  0=win-1252-latin-1
  1=system-default
  2=symbol
  77=apple-roman
  128=win-932-japanese-shift-jis
  129=win-949-korean-hangul
  130=win-1361-korean-johab
  134=win-936-chinese-simplified-gbk
  136=win-950-chinese-traditional-big5
  161=win-1253-greek
  162=win-1254-turkish
  163=win-1258-vietnamese
  177=win-1255-hebrew
  178=win-1256-arabic
  186=win-1257-baltic
  204=win-1251-cyrillic
  222=win-874-thai
  238=win-1250-latin-2-central-european
  255=ibm-850-latin-1
end

combilist=FONT-PITCHFAMILY
  0x0F=uint8,dec,pitch,FONT-PITCH
  0xF0=uint8,dec,family,FONT-FAMILY
end

constlist=FONT-WEIGHT
  400=normal
  700=bold
end

shortlist=FONT-PITCH,0,unknown,fixed,variable
shortlist=FONT-FAMILY,0,unknown,roman,swiss,modern,script,decorative

constlist=CODEPAGES
  367=ascii
  437=ibm-437-us
  708=iso-8859-6
  720=ibm-720-arabic
  737=ibm-737-greek
  775=ibm-775-baltic
  850=ibm-850-latin-1
  852=ibm-852-latin-2-central-european
  855=ibm-855-cyrillic
  857=ibm-857-turkish
  858=ibm-858-multilingual-latin-1-with-euro
  860=ibm-860-portuguese
  861=ibm-861-icelandic
  862=ibm-862-hebrew
  863=ibm-863-canadian-french
  864=ibm-864-arabic
  865=ibm-865-nordic
  866=ibm-866-cyrillic-russian
  869=ibm-869-greek-modern
  874=win-874-thai
  932=win-932-japanese-shift-jis
  936=win-936-chinese-simplified-gbk
  949=win-949-korean-wansung
  950=win-950-chinese-traditional-big5
  1200=utf-16
  1250=win-1250-latin-2-central-european
  1251=win-1251-cyrillic
  1252=win-1252-latin-1
  1253=win-1253-greek
  1254=win-1254-turkish
  1255=win-1255-hebrew
  1256=win-1256-arabic
  1257=win-1257-baltic
  1258=win-1258-vietnamese
  1361=win-1361-korean-johab
  10000=apple-roman
  10001=apple-japanese
  10002=apple-chinese-traditional
  10003=apple-korean
  10004=apple-arabic
  10005=apple-hebrew
  10006=apple-greek
  10007=apple-cyrillic
  10008=apple-chinese-simplified
  10010=apple-romanian
  10017=apple-ukrainian
  10029=apple-central-european-with-euro
  10079=apple-icelandic
  10081=apple-turkish
  10082=apple-croatian
  20127=ascii
  20866=koi8-r
  21866=koi8-u
  28591=iso-8859-1
  28592=iso-8859-2
  28593=iso-8859-3
  28594=iso-8859-4
  28595=iso-8859-5
  28596=iso-8859-6
  28597=iso-8859-7
  28598=iso-8859-8
  28599=iso-8859-9
  28605=iso-8859-15
  32768=apple-romanian
  32769=win-1252-latin-1
  50220=iso-2022-jp
  50225=iso-2022-kr
  51932=euc-jp
  51936=euc-cn
  51949=euc-kr
  65000=utf-7
  65001=utf-8
end

multilist=COUNTRY
  1=usa,canada,latin-america,,,,russia
  20=egypt
  30=greece,netherlands,belgium,france,spain,,hungary,,,italy
  40=,switzerland,,austria,uk,denmark,sweden,norway,poland,germany
  50=,,mexico,,,brazil
  60=,australia,,,new-zealand,,thailand
  80=,japan,korea,,vietnam,,china
  90=turkey
  210=,,,algeria,,,morocco,,libya
  350=,portugal,,,iceland,,,,finland
  420=czech
  880=,,,,,,taiwan
  960=,lebanon,jordan,syria,iraq,kuwait,saudi-arabia
  970=,uae,israel,,qatar
  980=,iran
end

multilist=SYSTEMCOLOR
  0x00=scrollbar,desktop,active-title,inactive-title,menu,window-back,window-frame,menu-text
  0x08=window-text,active-title-text,active-border,inactive-border,app-workspace,highlight,highlight-text,button-face
  0x10=button-shadow,disabled-text,button-text,inactive-title-text,button-highlight,button-dark-shadow,button-light-shadow,tooltip-text
  0x18=tooltip-back,,hot-light,active-title-2,inactive-title-2,menu-highlight,menubar
end

# ============================================================================