" Vim syntax file
" Language:         BDF font definition
" Maintainer:       Nikolai Weibull <now@bitwi.se>
" Latest Revision:  2006-04-19

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn region  bdfFontDefinition transparent matchgroup=bdfKeyword
                              \ start='^STARTFONT\>' end='^ENDFONT\>'
                              \ contains=bdfComment,bdfFont,bdfSize,
                              \ bdfBoundingBox,bdfProperties,bdfChars,bdfChar

syn match   bdfNumber         contained display
                              \ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)'

syn keyword bdfTodo           contained FIXME TODO XXX NOTE

syn region  bdfComment        contained start='^COMMENT\>' end='$'
                              \ contains=bdfTodo,@Spell

syn region  bdfFont           contained matchgroup=bdfKeyword
                              \ start='^FONT\>' end='$'

syn region  bdfSize           contained transparent matchgroup=bdfKeyword
                              \ start='^SIZE\>' end='$' contains=bdfNumber

syn region  bdfBoundingBox    contained transparent matchgroup=bdfKeyword
                              \ start='^FONTBOUNDINGBOX' end='$'
                              \ contains=bdfNumber

syn region  bdfProperties     contained transparent matchgroup=bdfKeyword
                              \ start='^STARTPROPERTIES' end='^ENDPROPERTIES'
                              \ contains=bdfNumber,bdfString,bdfProperty,
                              \ bdfXProperty

syn keyword bdfProperty       contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
syn match   bdfProperty       contained '^\S\+'

syn keyword bdfXProperty      contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
                              \ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME
                              \ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE
                              \ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING
                              \ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT
                              \ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT
                              \ QUAD_WIDTH FONT AVERAGE_WIDTH

syn region  bdfString         contained start=+"+ skip=+""+ end=+"+

syn region  bdfChars          contained display transparent
                              \ matchgroup=bdfKeyword start='^CHARS' end='$'
                              \ contains=bdfNumber

syn region  bdfChar           transparent matchgroup=bdfKeyword
                              \ start='^STARTCHAR' end='^ENDCHAR'
                              \ contains=bdfEncoding,bdfWidth,bdfAttributes,
                              \ bdfBitmap

syn region  bdfEncoding       contained transparent matchgroup=bdfKeyword
                              \ start='^ENCODING' end='$' contains=bdfNumber

syn region  bdfWidth          contained transparent matchgroup=bdfKeyword
                              \ start='^SWIDTH\|DWIDTH\|BBX' end='$'
                              \ contains=bdfNumber

syn region  bdfAttributes     contained transparent matchgroup=bdfKeyword
                              \ start='^ATTRIBUTES' end='$'

syn keyword bdfBitmap         contained BITMAP

if exists("bdf_minlines")
  let b:bdf_minlines = bdf_minlines
else
  let b:bdf_minlines = 30
endif
exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines


hi def link bdfKeyword        Keyword
hi def link bdfNumber         Number
hi def link bdfTodo           Todo
hi def link bdfComment        Comment
hi def link bdfFont           String
hi def link bdfProperty       Identifier
hi def link bdfXProperty      Identifier
hi def link bdfString         String
hi def link bdfChars          Keyword
hi def link bdfBitmap         Keyword

let b:current_syntax = "bdf"

let &cpo = s:cpo_save
unlet s:cpo_save
