#
#   MIME types file for OpenPrinting CUPS Filters.
#
#   DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
#   VERSIONS OF OPENPRINTING CUPS FILTERS.  Instead, create a "local.types"
#   file that reflects your local configuration changes.
#
#   Copyright 2007-2011 by Apple Inc.
#   Copyright 1997-2007 by Easy Software Products.
#   Copyright 2012-2016 by Till Kamppeter.
#   Copyright 2017 by Sahil Arora.
#
#   These coded instructions, statements, and computer programs are the
#   property of Apple Inc. and are protected by Federal copyright
#   law.  Distribution and use rights are outlined in the file "COPYING"
#   which should have been included with this file.
#

########################################################################
#
# Format of Lines:
#
#   super/type rules
#
# "rules" can be any combination of:
#
#   ( expr )				Parenthesis for expression grouping
#   +					Logical AND
#   , or whitespace			Logical OR
#   !					Logical NOT
#   match("pattern")			Pattern match on filename
#   extension				Pattern match on "*.extension"
#   ascii(offset,length)		True if bytes are valid printable ASCII
#					(CR, NL, TAB, BS, 32-126)
#   priority(number)                    Sets priority of type (0=lowest,
#                                       100=default, 200=highest)
#   printable(offset,length)		True if bytes are printable 8-bit chars
#					(CR, NL, TAB, BS, 32-126, 128-254)
#   string(offset,"string")		True if bytes are identical to string
#   istring(offset,"string")		True if bytes are identical to
#                                       case-insensitive string
#   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
#
# General Notes:
#
#   MIME type names are case-insensitive.  Internally they are converted
#   to lowercase.  Multiple occurrences of a type will cause the provided
#   rules to be appended to the existing definition.  If two types use the same
#   rules to resolve a type and have the same priority, e.g. "doc" extension for
#   "text/bar" and "text/foo", the returned type will be the first type as
#   sorted in alphanumerically ascending order without regard to case.  Thus,
#   the "text/bar" type will match the "doc" extension first unless the
#   "text/foo" type has specified a higher priority.
#
#   The "printable" rule differs from the "ascii" rule in that it also
#   accepts 8-bit characters in the range 128-255.
#
#   String constants must be surrounded by "" if they contain whitespace.
#   To insert binary data into a string, use the <hex> notation.
#

########################################################################
#
# Application-generated files...
#

# CUPS file detection rule for PostScript which is generated by the Adobe
# Reader. We distinguish PostScript from the Adobe reader here so that we
# can override pstopdf and the PDF workflow for these PostScript files as the
# conversion of them to PDF does not work if the original PDF file was
# encrypted.

application/vnd.adobe-reader-postscript priority(150) contains(0,4096,"%%Creator: Adobe Acrobat") + \
				(ai eps ps string(0,%!) string(0,<04>%!) \
                                 contains(0,128,<1B>%-12345X) + \
                                 (contains(0,4096,"LANGUAGE=POSTSCRIPT") \
                                  contains(0,4096,"LANGUAGE = Postscript") \
                                  contains(0,4096,"LANGUAGE = PostScript") \
                                  contains(0,4096,"LANGUAGE = POSTSCRIPT") \
                                  (contains(0,4096,<0a>%!) + \
                                   !contains(0,4096,"ENTER LANGUAGE"))))

########################################################################
#
# Image files...
#

image/x-xbitmap			xbm string(0,"#define");
image/x-xpixmap			xpm string(3,"XPM")
image/x-xwindowdump		xwd string(4,<00000007>)
image/urf			urf string(0,UNIRAST<00>)

########################################################################
#
# CUPS-specific types...
#

application/vnd.cups-pdf
application/vnd.cups-pdf-banner     string(0,'#PDF-BANNER')
application/PCLm

