annotate runtime/syntax/rtf.vim @ 16582:9a7d98e11954 v8.1.1294

patch 8.1.1294: MS-Windows: Some fonts return wrong average char width commit https://github.com/vim/vim/commit/93d77b2cbec08518ee426d0c44c50cf505732443 Author: Bram Moolenaar <Bram@vim.org> Date: Tue May 7 22:52:50 2019 +0200 patch 8.1.1294: MS-Windows: Some fonts return wrong average char width Problem: MS-Windows: Some fonts return wrong average char width. Solution: Compute the average ourselves. (Ken Takata, closes https://github.com/vim/vim/issues/4356)
author Bram Moolenaar <Bram@vim.org>
date Tue, 07 May 2019 23:00:06 +0200
parents 46763b01cd9a
children 5b7ea82bc18f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: Rich Text Format
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " "*.rtf" files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 " The Rich Text Format (RTF) Specification is a method of encoding formatted
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " text and graphics for easy transfer between applications.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " .hlp (windows help files) use compiled rtf files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " rtf documentation at http://night.primate.wisc.edu/software/RTF/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " Maintainer: Dominique Stéphan (dominique@mggen.com)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 " URL: http://www.mggen.com/vim/syntax/rtf.zip
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " Last change: 2001 Mai 02
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 " TODO: render underline, italic, bold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
16 " quit when a syntax file was already loaded
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
17 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 " case on (all controls must be lower case)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 syn case match
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " Control Words
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 syn match rtfControlWord "\\[a-z]\+[\-]\=[0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " New Control Words (not in the 1987 specifications)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 syn match rtfNewControlWord "\\\*\\[a-z]\+[\-]\=[0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 " Control Symbol : any \ plus a non alpha symbol, *, \, { and } and '
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 syn match rtfControlSymbol "\\[^a-zA-Z\*\{\}\\']"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 " { } and \ are special characters, to use them
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 " we add a backslash \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 syn match rtfCharacter "\\\\"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 syn match rtfCharacter "\\{"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 syn match rtfCharacter "\\}"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 " Escaped characters (for 8 bytes characters upper than 127)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 syn match rtfCharacter "\\'[A-Za-z0-9][A-Za-z0-9]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 " Unicode
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 syn match rtfUnicodeCharacter "\\u[0-9][0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 " Color values, we will put this value in Red, Green or Blue
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn match rtfRed "\\red[0-9][0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 syn match rtfGreen "\\green[0-9][0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn match rtfBlue "\\blue[0-9][0-9]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 " Some stuff for help files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 syn match rtfFootNote "[#$K+]{\\footnote.*}" contains=rtfControlWord,rtfNewControlWord
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 " Define the default highlighting.
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
52 " Only when an item doesn't have highlighting yet
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
55 hi def link rtfControlWord Statement
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
56 hi def link rtfNewControlWord Special
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
57 hi def link rtfControlSymbol Constant
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
58 hi def link rtfCharacter Character
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
59 hi def link rtfUnicodeCharacter SpecialChar
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
60 hi def link rtfFootNote Comment
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
62 " Define colors for the syntax file
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
63 hi rtfRed term=underline cterm=underline ctermfg=DarkRed gui=underline guifg=DarkRed
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
64 hi rtfGreen term=underline cterm=underline ctermfg=DarkGreen gui=underline guifg=DarkGreen
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 7
diff changeset
65 hi rtfBlue term=underline cterm=underline ctermfg=DarkBlue gui=underline guifg=DarkBlue
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
67 hi def link rtfRed rtfRed
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
68 hi def link rtfGreen rtfGreen
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
69 hi def link rtfBlue rtfBlue
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 let b:current_syntax = "rtf"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 " vim:ts=8