1# 2# Base MIME types file for CUPS. 3# 4# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW 5# VERSIONS OF CUPS. Instead, create a "local.types" file that 6# reflects your local configuration changes. 7# 8# Copyright © 2007-2017 by Apple Inc. 9# Copyright © 1997-2007 by Easy Software Products. 10# 11# Licensed under Apache License v2.0. See the file "LICENSE" for more 12# information. 13# 14 15######################################################################## 16# 17# Format of Lines: 18# 19# super/type rules 20# 21# "rules" can be any combination of: 22# 23# ( expr ) Parenthesis for expression grouping 24# + Logical AND 25# , or whitespace Logical OR 26# ! Logical NOT 27# match("pattern") Pattern match on filename 28# extension Pattern match on "*.extension" 29# ascii(offset,length) True if bytes are valid printable ASCII 30# (CR, NL, TAB, BS, 32-126) 31# priority(number) Sets priority of type (0=lowest, 32# 100=default, 200=highest) 33# printable(offset,length) True if bytes are printable 8-bit chars 34# (CR, NL, TAB, BS, 32-126, 128-254) 35# regex(offset,"regex") True if bytes match regular expression 36# string(offset,"string") True if bytes are identical to string 37# istring(offset,"string") True if bytes are identical to 38# case-insensitive string 39# char(offset,value) True if byte is identical 40# short(offset,value) True if 16-bit integer is identical 41# int(offset,value) True if 32-bit integer is identical 42# locale("string") True if current locale matches string 43# contains(offset,range,"string") True if the range contains the string 44# 45# General Notes: 46# 47# MIME type names are case-insensitive. Internally they are converted 48# to lowercase. Multiple occurrences of a type will cause the provided 49# rules to be appended to the existing definition. If two types use the same 50# rules to resolve a type and have the same priority, e.g. "doc" extension for 51# "text/bar" and "text/foo", the returned type will be the first type as 52# sorted in alphanumerically ascending order without regard to case. Thus, 53# the "text/bar" type will match the "doc" extension first unless the 54# "text/foo" type has specified a higher priority. 55# 56# The "printable" rule differs from the "ascii" rule in that it also 57# accepts 8-bit characters in the range 128-255. 58# 59# String constants must be surrounded by "" if they contain whitespace. 60# To insert binary data into a string, use the <hex> notation. 61# 62 63######################################################################## 64# 65# Application-generated files... 66# 67 68#application/msword doc string(0,<D0CF11E0A1B11AE1>) 69application/pdf pdf regex(0,^[\n\r]*%PDF) 70application/postscript ai eps ps string(0,%!) string(0,<04>%!) \ 71 contains(0,128,<1B>%-12345X) + \ 72 (contains(0,4096,"LANGUAGE=POSTSCRIPT") \ 73 contains(0,4096,"LANGUAGE = Postscript") \ 74 contains(0,4096,"LANGUAGE = PostScript") \ 75 contains(0,4096,"LANGUAGE = POSTSCRIPT") \ 76 (contains(0,4096,<0a>%!) + \ 77 !contains(0,4096,"ENTER LANGUAGE"))) 78 79 80######################################################################## 81# 82# Image files... 83# 84 85image/gif gif string(0,GIF87a) string(0,GIF89a) 86image/png png string(0,<89>PNG) 87image/jpeg jpeg jpg jpe string(0,<FFD8FF>) +\ 88 (char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\ 89 char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\ 90 char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\ 91 char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef)) 92image/pwg-raster string(0,"RaS2") + string(4,PwgRaster<00>) priority(150) 93image/tiff tiff tif string(0,MM<002A>) string(0,II<2A00>) 94image/x-photocd pcd string(2048,PCD_IPI) 95image/x-portable-anymap pnm 96image/x-portable-bitmap pbm string(0,P1) string(0,P4) 97image/x-portable-graymap pgm string(0,P2) string(0,P5) 98image/x-portable-pixmap ppm string(0,P3) string(0,P6) 99image/x-sgi-rgb rgb sgi bw icon short(0,474) 100image/x-xbitmap xbm 101image/x-xpixmap xpm ascii(0,1024) + string(3,"XPM") 102#image/x-xwindowdump xwd string(4,<00000007>) 103image/x-sun-raster ras string(0,<59a66a95>) 104 105#image/fpx fpx 106image/urf urf string(0,UNIRAST<00>) 107image/x-alias pix short(8,8) short(8,24) 108image/x-bitmap bmp string(0,BM) + !printable(2,14) 109image/x-icon ico 110 111######################################################################## 112# 113# Text files... 114# 115 116application/x-cshell csh printable(0,1024) + string(0,#!) +\ 117 (contains(2,80,/csh) contains(2,80,/tcsh)) 118application/x-perl pl printable(0,1024) + string(0,#!) +\ 119 contains(2,80,/perl) 120application/x-shell sh printable(0,1024) + string(0,#!) +\ 121 (contains(2,80,/bash) contains(2,80,/ksh)\ 122 contains(2,80,/sh) contains(2,80,/zsh)) 123application/x-csource c cxx cpp cc C h hpp \ 124 printable(0,1024) + ! css + \ 125 (string(0,/*) string(0,//) \ 126 string(0,#include) contains(0,1024,<0a>#include) \ 127 string(0,#define) contains(0,1024,<0a>#define)) 128text/html html htm printable(0,1024) +\ 129 (istring(0,"<HTML>") istring(0,"<!DOCTYPE")) 130text/plain txt printable(0,1024) 131text/css css 132 133 134######################################################################## 135# 136# RSS feed type... 137# 138 139application/rss+xml rss 140 141 142######################################################################## 143# 144# CUPS-specific types... 145# 146 147application/vnd.cups-banner string(0,'#CUPS-BANNER') 148application/vnd.cups-command string(0,'#CUPS-COMMAND') 149application/vnd.cups-pdf 150application/vnd.cups-postscript 151application/vnd.cups-ppd ppd string(0,"*PPD-Adobe:") 152application/vnd.cups-raster string(0,"RaSt") string(0,"tSaR") \ 153 (string(0,"RaS2") + !string(4,PwgRaster<00>)) string(0,"2SaR") \ 154 string(0,"RaS3") string(0,"3SaR") 155application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \ 156 string(0,<1B>@) \ 157 (contains(0,128,<1B>%-12345X) + \ 158 (contains(0,4096,"LANGUAGE=PCL") \ 159 contains(0,4096,"LANGUAGE = PCL"))) 160 161######################################################################## 162# 163# Raw print file support... 164# 165# Comment the following type to prevent raw file printing. 166# 167 168application/octet-stream 169