summaryrefslogtreecommitdiff
path: root/conf/mime.types
blob: fcd6b6effeee40f90b46c0762465820dd723d7eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#
# Base MIME types file for CUPS.
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS.  Instead, create a "local.types" file that
# reflects your local configuration changes.
#
# Copyright © 2007-2017 by Apple Inc.
# Copyright © 1997-2007 by Easy Software Products.
#
# Licensed under Apache License v2.0.  See the file "LICENSE" for more
# information.
#

########################################################################
#
# 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)
#   regex(offset,"regex")		True if bytes match regular expression
#   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...
#

#application/msword		doc string(0,<D0CF11E0A1B11AE1>)
application/pdf			pdf regex(0,^[\n\r]*%PDF)
application/postscript		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/gif			gif string(0,GIF87a) string(0,GIF89a)
image/png			png string(0,<89>PNG)
image/jpeg			jpeg jpg jpe string(0,<FFD8FF>) +\
				(char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
				 char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
				 char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
				 char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
image/pwg-raster		string(0,"RaS2") + string(4,PwgRaster<00>) priority(150)
image/tiff			tiff tif string(0,MM<002A>) string(0,II<2A00>)
image/x-photocd			pcd string(2048,PCD_IPI)
image/x-portable-anymap		pnm
image/x-portable-bitmap		pbm string(0,P1) string(0,P4)
image/x-portable-graymap	pgm string(0,P2) string(0,P5)
image/x-portable-pixmap		ppm string(0,P3) string(0,P6)
image/x-sgi-rgb			rgb sgi bw icon short(0,474)
image/x-xbitmap			xbm
image/x-xpixmap			xpm ascii(0,1024) + string(3,"XPM")
#image/x-xwindowdump		xwd string(4,<00000007>)
image/x-sun-raster		ras string(0,<59a66a95>)

#image/fpx			fpx
image/urf			urf string(0,UNIRAST<00>)
image/x-alias			pix short(8,8) short(8,24)
image/x-bitmap			bmp string(0,BM) + !printable(2,14)
image/x-icon			ico

########################################################################
#
# Text files...
#

application/x-cshell		csh printable(0,1024) + string(0,#!) +\
				(contains(2,80,/csh) contains(2,80,/tcsh))
application/x-perl		pl printable(0,1024) + string(0,#!) +\
				contains(2,80,/perl)
application/x-shell		sh printable(0,1024) + string(0,#!) +\
				(contains(2,80,/bash) contains(2,80,/ksh)\
				 contains(2,80,/sh) contains(2,80,/zsh))
application/x-csource		c cxx cpp cc C h hpp \
				printable(0,1024) + ! css + \
				(string(0,/*) string(0,//) \
				 string(0,#include) contains(0,1024,<0a>#include) \
				 string(0,#define) contains(0,1024,<0a>#define))
text/html			html htm printable(0,1024) +\
				(istring(0,"<HTML>") istring(0,"<!DOCTYPE"))
text/plain			txt printable(0,1024)
text/css			css


########################################################################
#
# RSS feed type...
#

application/rss+xml		rss


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

application/vnd.cups-banner	string(0,'#CUPS-BANNER')
application/vnd.cups-command	string(0,'#CUPS-COMMAND')
application/vnd.cups-pdf
application/vnd.cups-postscript
application/vnd.cups-ppd	ppd string(0,"*PPD-Adobe:")
application/vnd.cups-raster	string(0,"RaSt") string(0,"tSaR") \
				(string(0,"RaS2") + !string(4,PwgRaster<00>)) string(0,"2SaR") \
				string(0,"RaS3") string(0,"3SaR")
application/vnd.cups-raw	(string(0,<1B>E) + !string(2,<1B>%0B)) \
				string(0,<1B>@) \
				(contains(0,128,<1B>%-12345X) + \
				 (contains(0,4096,"LANGUAGE=PCL") \
				  contains(0,4096,"LANGUAGE = PCL")))

########################################################################
#
# Raw print file support...
#
# Comment the following type to prevent raw file printing.
#

application/octet-stream