Additional file types can be added to mime.types or (preferably) in additional files in the CUPS configuration directory with the extension ".types".
Each line in the mime.types file is a comment, blank, or
rule line. Comment lines start with the # character. Rule lines
start with the MIME type name and are optionally followed by a
series of file recognition rules that are used to automatically
identify print and web files:
super/type rule [ ... ruleN]MIME type names are case-insensitive and are sorted in ascending alphanumeric order for the purposes of matching. See the "TYPE MATCHING AND PRIORITY" section for more information.
The rules may be grouped using parenthesis, joined using "+" for a logical AND and "," or whitespace for a logical OR, and negated using "!".
match("pattern")
Pattern match on filename
ascii(offset,length)
True if bytes are valid printable ASCII (CR, NL, TAB, BS, 32-126)
printable(offset,length)
True if bytes are printable 8-bit chars (CR, NL, TAB, BS, 32-126, 128-254)
priority(number)
Specifies the relative priority of this MIME type. The default priority is 100.
Larger values have higher priority while smaller values have lower priority.
string(offset,"string")
True if bytes are identical to string
istring(offset,"string")
True if a case-insensitive comparison of the bytes is identical
char(offset,value)
True if byte is identical
short(offset,value)
True if 16-bit integer is identical
int(offset,value)
True if 32-bit integer is identical
locale("string")
True if current locale matches string
contains(offset,range,"string")
True if the range contains the string
For example, if two types "text/bar" and "text/foo" are defined as matching the extension "doc", normally the type "text/bar" will be chosen since its name is alphanumerically smaller than "text/foo". However, if "text/foo" also defines a higher priority than "text/bar", "text/foo" will be chosen instead.