# Style sheet for PostScript Printer Description files
# Copyright (c) 1998-99 Akim Demaille, Miguel Santana
#
# $Id: ppd.ssh,v 1.1.1.1.2.1 2007/12/29 01:58:32 mhatta Exp $
#

#
# This file is part of a2ps.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#

style "PostScript Printer Description" is
requires a2ps 4.12a

written by "Akim Demaille <akim@freefriends.org>"
version is 1.0
documentation is
  "Support for Adobe's PPD files."
end documentation

alphabets are
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_\\-"
case sensitive

operators are
  # Printer ModelName
  (/^\\*ModelName(:[ \t]*")([^"]+)"/
   * Plain, ModelName Keyword_strong, \1 Plain,
   \2 (Tag1 + String), "\"" Plain),   

  # UI section
  (/^\\*OpenUI([ \t]+\\*)([^:]+)(:[ \t]+)(.+)/
   * Plain, OpenUi Keyword_strong, \1 Plain,
   \2 Label, \3 Keyword),
  (/^\\*CloseUI(:[ \t]*\\*)(.+)/
   * Plain, CloseUI Keyword_strong, \1 Plain, \2 Label),

  # Some definitions
  (/^\\*([^ :]+)([\t ]+)([^:]+):/
   * Plain, \1 Keyword_strong, \2 Plain, \3 Label, : Plain),

  (/^\\*([^ :]+):/ * Plain, \1 Keyword_strong, : Plain),

  # I think *End is the last one
  (/^\\*([^ :]+)/ * Plain, \1 Keyword_strong),

  /^\\*%.*/ Comment
end operators

sequences are
  # Strings are exactly the C-strings, though we don't want to
  # have them in the "string" face
#  "\"" Plain Plain "\"" Plain
#     exceptions are
#	"\\\\", "\\\""
#     end exceptions
  C-string
end sequences

end style
