From 3a9be11a68e3bd5453edf1c0c7d469442dbd0cf3 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 28 Apr 2014 23:24:00 +0200 Subject: beta 2014.04.28 23:24 --- .../context/documents/scite-context-readme.pdf | Bin 0 -> 221437 bytes .../context/documents/scite-context-readme.tex | 828 ++++++++ .../context/documents/scite-context-visual.pdf | 1364 +++++++++++++ .../context/documents/scite-context-visual.png | Bin 0 -> 77849 bytes .../lexers/data/scite-context-data-context.lua | 4 + .../lexers/data/scite-context-data-interfaces.lua | 10 + .../lexers/data/scite-context-data-metafun.lua | 4 + .../lexers/data/scite-context-data-metapost.lua | 7 + .../context/lexers/data/scite-context-data-tex.lua | 9 + context/data/scite/context/lexers/lexer.lua | 3 + .../context/lexers/scite-context-lexer-bibtex.lua | 176 ++ .../context/lexers/scite-context-lexer-cld.lua | 23 + .../context/lexers/scite-context-lexer-cpp-web.lua | 23 + .../context/lexers/scite-context-lexer-cpp.lua | 188 ++ .../lexers/scite-context-lexer-lua-longstring.lua | 31 + .../context/lexers/scite-context-lexer-lua.lua | 373 ++++ .../context/lexers/scite-context-lexer-mps.lua | 177 ++ .../lexers/scite-context-lexer-pdf-object.lua | 136 ++ .../lexers/scite-context-lexer-pdf-xref.lua | 43 + .../context/lexers/scite-context-lexer-pdf.lua | 204 ++ .../context/lexers/scite-context-lexer-tex-web.lua | 23 + .../context/lexers/scite-context-lexer-tex.lua | 547 ++++++ .../context/lexers/scite-context-lexer-txt.lua | 80 + .../lexers/scite-context-lexer-web-snippets.lua | 133 ++ .../context/lexers/scite-context-lexer-web.lua | 67 + .../lexers/scite-context-lexer-xml-cdata.lua | 33 + .../lexers/scite-context-lexer-xml-comment.lua | 33 + .../lexers/scite-context-lexer-xml-script.lua | 33 + .../context/lexers/scite-context-lexer-xml.lua | 350 ++++ .../scite/context/lexers/scite-context-lexer.lua | 2018 ++++++++++++++++++++ .../context/lexers/themes/scite-context-theme.lua | 150 ++ .../context/scite-context-data-context.properties | 193 ++ .../scite-context-data-interfaces.properties | 1276 +++++++++++++ .../context/scite-context-data-metafun.properties | 57 + .../context/scite-context-data-metapost.properties | 102 + .../context/scite-context-data-tex.properties | 237 +++ .../context/scite-context-external.properties | 101 + .../context/scite-context-internal.properties | 86 + .../scite/context/scite-context-user.properties | 15 + .../data/scite/context/scite-context.properties | 682 +++++++ .../scite/context/scite-ctx-context.properties | 49 + .../scite/context/scite-ctx-example.properties | 23 + context/data/scite/context/scite-ctx.lua | 1395 ++++++++++++++ context/data/scite/context/scite-ctx.properties | 172 ++ .../data/scite/context/scite-metapost.properties | 76 + context/data/scite/context/scite-pragma.properties | 41 + context/data/scite/context/scite-tex.properties | 116 ++ context/data/scite/lexers/archive/data-pre-303.zip | Bin 380461 -> 0 bytes context/data/scite/lexers/archive/data-pre-331.zip | Bin 399829 -> 0 bytes context/data/scite/lexers/archive/data-pre-341.zip | Bin 405362 -> 0 bytes .../lexers/data/scite-context-data-context.lua | 4 - .../lexers/data/scite-context-data-interfaces.lua | 10 - .../lexers/data/scite-context-data-metafun.lua | 4 - .../lexers/data/scite-context-data-metapost.lua | 7 - .../scite/lexers/data/scite-context-data-tex.lua | 9 - context/data/scite/lexers/lexer.lua | 3 - .../data/scite/lexers/scite-context-lexer-cld.lua | 23 - .../lexers/scite-context-lexer-lua-longstring.lua | 33 - .../data/scite/lexers/scite-context-lexer-lua.lua | 373 ---- .../data/scite/lexers/scite-context-lexer-mps.lua | 165 -- .../lexers/scite-context-lexer-pdf-object.lua | 119 -- .../scite/lexers/scite-context-lexer-pdf-xref.lua | 53 - .../data/scite/lexers/scite-context-lexer-pdf.lua | 79 - .../data/scite/lexers/scite-context-lexer-tex.lua | 496 ----- .../data/scite/lexers/scite-context-lexer-txt.lua | 81 - .../data/scite/lexers/scite-context-lexer-web.lua | 159 -- .../scite/lexers/scite-context-lexer-xml-cdata.lua | 33 - .../lexers/scite-context-lexer-xml-comment.lua | 45 - .../lexers/scite-context-lexer-xml-script.lua | 33 - .../data/scite/lexers/scite-context-lexer-xml.lua | 343 ---- context/data/scite/lexers/scite-context-lexer.lua | 1588 --------------- .../lexers/themes/scite-context-theme-keep.lua | 233 --- .../scite/lexers/themes/scite-context-theme.lua | 118 -- context/data/scite/metapost.properties | 1 - .../scite/scite-context-data-context.properties | 193 -- .../scite/scite-context-data-interfaces.properties | 1276 ------------- .../scite/scite-context-data-metafun.properties | 57 - .../scite/scite-context-data-metapost.properties | 102 - .../data/scite/scite-context-data-tex.properties | 237 --- .../data/scite/scite-context-external.properties | 83 - .../data/scite/scite-context-internal.properties | 86 - context/data/scite/scite-context-readme.pdf | Bin 210958 -> 0 bytes context/data/scite/scite-context-readme.tex | 846 -------- context/data/scite/scite-context-user.properties | 15 - context/data/scite/scite-context-visual.pdf | 1364 ------------- context/data/scite/scite-context-visual.png | Bin 77849 -> 0 bytes context/data/scite/scite-context-visual.tex | 52 - context/data/scite/scite-context.properties | 682 ------- context/data/scite/scite-ctx-context.properties | 49 - context/data/scite/scite-ctx-example.properties | 23 - context/data/scite/scite-ctx.lua | 1385 -------------- context/data/scite/scite-ctx.properties | 172 -- context/data/scite/scite-metapost.properties | 76 - context/data/scite/scite-pragma.properties | 40 - context/data/scite/scite-tex.properties | 116 -- context/data/scite/tex.properties | 1 - doc/context/scripts/mkiv/mtx-scite.html | 2 + doc/context/scripts/mkiv/mtx-scite.man | 6 + doc/context/scripts/mkiv/mtx-scite.xml | 2 + scripts/context/lua/mtx-scite.lua | 55 + scripts/context/lua/mtxrun.lua | 6 +- scripts/context/stubs/mswin/mtxrun.lua | 6 +- scripts/context/stubs/unix/mtxrun | 6 +- scripts/context/stubs/win64/mtxrun.lua | 6 +- tex/context/base/bibl-bib.lua | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4065 -> 4061 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/m-scite.mkiv | 269 +++ tex/context/base/status-files.pdf | Bin 24624 -> 24625 bytes tex/context/base/status-lua.pdf | Bin 242465 -> 242466 bytes tex/context/base/trac-deb.lua | 16 +- tex/context/base/trac-log.lua | 3 + tex/context/base/util-sci.lua | 262 +++ tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 115 files changed, 12320 insertions(+), 10885 deletions(-) create mode 100644 context/data/scite/context/documents/scite-context-readme.pdf create mode 100644 context/data/scite/context/documents/scite-context-readme.tex create mode 100644 context/data/scite/context/documents/scite-context-visual.pdf create mode 100644 context/data/scite/context/documents/scite-context-visual.png create mode 100644 context/data/scite/context/lexers/data/scite-context-data-context.lua create mode 100644 context/data/scite/context/lexers/data/scite-context-data-interfaces.lua create mode 100644 context/data/scite/context/lexers/data/scite-context-data-metafun.lua create mode 100644 context/data/scite/context/lexers/data/scite-context-data-metapost.lua create mode 100644 context/data/scite/context/lexers/data/scite-context-data-tex.lua create mode 100644 context/data/scite/context/lexers/lexer.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-bibtex.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-cld.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-cpp-web.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-cpp.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-lua-longstring.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-lua.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-mps.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-pdf-object.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-pdf-xref.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-pdf.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-tex-web.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-tex.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-txt.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-web-snippets.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-web.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-xml-cdata.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-xml-comment.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-xml-script.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer-xml.lua create mode 100644 context/data/scite/context/lexers/scite-context-lexer.lua create mode 100644 context/data/scite/context/lexers/themes/scite-context-theme.lua create mode 100644 context/data/scite/context/scite-context-data-context.properties create mode 100644 context/data/scite/context/scite-context-data-interfaces.properties create mode 100644 context/data/scite/context/scite-context-data-metafun.properties create mode 100644 context/data/scite/context/scite-context-data-metapost.properties create mode 100644 context/data/scite/context/scite-context-data-tex.properties create mode 100644 context/data/scite/context/scite-context-external.properties create mode 100644 context/data/scite/context/scite-context-internal.properties create mode 100644 context/data/scite/context/scite-context-user.properties create mode 100644 context/data/scite/context/scite-context.properties create mode 100644 context/data/scite/context/scite-ctx-context.properties create mode 100644 context/data/scite/context/scite-ctx-example.properties create mode 100644 context/data/scite/context/scite-ctx.lua create mode 100644 context/data/scite/context/scite-ctx.properties create mode 100644 context/data/scite/context/scite-metapost.properties create mode 100644 context/data/scite/context/scite-pragma.properties create mode 100644 context/data/scite/context/scite-tex.properties delete mode 100644 context/data/scite/lexers/archive/data-pre-303.zip delete mode 100644 context/data/scite/lexers/archive/data-pre-331.zip delete mode 100644 context/data/scite/lexers/archive/data-pre-341.zip delete mode 100644 context/data/scite/lexers/data/scite-context-data-context.lua delete mode 100644 context/data/scite/lexers/data/scite-context-data-interfaces.lua delete mode 100644 context/data/scite/lexers/data/scite-context-data-metafun.lua delete mode 100644 context/data/scite/lexers/data/scite-context-data-metapost.lua delete mode 100644 context/data/scite/lexers/data/scite-context-data-tex.lua delete mode 100644 context/data/scite/lexers/lexer.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-cld.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-lua-longstring.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-lua.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-mps.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-pdf-object.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-pdf-xref.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-pdf.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-tex.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-txt.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-web.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-xml-cdata.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-xml-comment.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-xml-script.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer-xml.lua delete mode 100644 context/data/scite/lexers/scite-context-lexer.lua delete mode 100644 context/data/scite/lexers/themes/scite-context-theme-keep.lua delete mode 100644 context/data/scite/lexers/themes/scite-context-theme.lua delete mode 100644 context/data/scite/metapost.properties delete mode 100644 context/data/scite/scite-context-data-context.properties delete mode 100644 context/data/scite/scite-context-data-interfaces.properties delete mode 100644 context/data/scite/scite-context-data-metafun.properties delete mode 100644 context/data/scite/scite-context-data-metapost.properties delete mode 100644 context/data/scite/scite-context-data-tex.properties delete mode 100644 context/data/scite/scite-context-external.properties delete mode 100644 context/data/scite/scite-context-internal.properties delete mode 100644 context/data/scite/scite-context-readme.pdf delete mode 100644 context/data/scite/scite-context-readme.tex delete mode 100644 context/data/scite/scite-context-user.properties delete mode 100644 context/data/scite/scite-context-visual.pdf delete mode 100644 context/data/scite/scite-context-visual.png delete mode 100644 context/data/scite/scite-context-visual.tex delete mode 100644 context/data/scite/scite-context.properties delete mode 100644 context/data/scite/scite-ctx-context.properties delete mode 100644 context/data/scite/scite-ctx-example.properties delete mode 100644 context/data/scite/scite-ctx.lua delete mode 100644 context/data/scite/scite-ctx.properties delete mode 100644 context/data/scite/scite-metapost.properties delete mode 100644 context/data/scite/scite-pragma.properties delete mode 100644 context/data/scite/scite-tex.properties delete mode 100644 context/data/scite/tex.properties create mode 100644 tex/context/base/m-scite.mkiv create mode 100644 tex/context/base/util-sci.lua diff --git a/context/data/scite/context/documents/scite-context-readme.pdf b/context/data/scite/context/documents/scite-context-readme.pdf new file mode 100644 index 000000000..2bd7d4216 Binary files /dev/null and b/context/data/scite/context/documents/scite-context-readme.pdf differ diff --git a/context/data/scite/context/documents/scite-context-readme.tex b/context/data/scite/context/documents/scite-context-readme.tex new file mode 100644 index 000000000..cbfc00a33 --- /dev/null +++ b/context/data/scite/context/documents/scite-context-readme.tex @@ -0,0 +1,828 @@ +% interface=en modes=icon,screen language=uk + +\usemodule[art-01] +\usemodule[abr-02] + +\unexpanded\def\METAPOST{MetaPost} +\unexpanded\def\METAFUN {MetaFun} + +\setuphead + [section] + [color=darkblue] + +\setuptype + [color=darkblue] + +\setuptyping + [color=darkblue] + +\setuptyping + [margin=yes] + +\setupwhitespace + [big] + +\definecolor[gray][s=.2,t=.5,a=1] + +\startuseMPgraphic{TitlePage}{darkness} + StartPage ; + + numeric factor ; factor := 1/3 ; + numeric multiple ; multiple := PaperHeight/PaperWidth ; % 1.6 ; + numeric stages ; stages := multiple/16 ; % .1 ; + numeric darkness ; darkness := \MPvar{darkness} ; + + def Scaled(expr s, m) = + if m = 1 : + scaled (2*s*PaperWidth) + else : + xscaled (2*s*PaperWidth) yscaled (2*s*PaperHeight) + fi + enddef ; + + fill Page withcolor (factor*white) ; + + fill fullcircle scaled (multiple*PaperWidth) shifted llcorner Page withcolor (factor*red) ; + fill fullcircle scaled (multiple*PaperWidth) shifted ulcorner Page withcolor (factor*green) ; + fill fullcircle scaled (multiple*PaperWidth) shifted urcorner Page withcolor (factor*blue) ; + fill fullcircle scaled (multiple*PaperWidth) shifted lrcorner Page withcolor (factor*yellow) ; + + for i = llcorner Page, ulcorner Page, urcorner Page, lrcorner Page : + for j = 0 step stages until (10*stages-eps) : % or .8 + fill fullcircle Scaled(j,1) shifted i withcolor transparent(1,\MPvar{darkness}*(1-j),white) ; + endfor ; + endfor ; + + draw Page withpen pencircle scaled .1PaperWidth withcolor transparent(1,.5,.5white) ; + + StopPage +\stopuseMPgraphic + +\startmode[icon,screen] + + \setuppapersize[S66][S66] + + \setupbodyfont[10pt] + +\stopmode + +\startmode[icon] + + \starttext + + \startTEXpage + \useMPgraphic{TitlePage}{darkness=0.4} + \stopTEXpage + + \stoptext + +\stopmode + +\starttext + +% title page + +\definelayer + [TitlePage] + [width=\paperwidth, + height=\paperheight] + +\setlayer + [TitlePage] + {\useMPgraphic{TitlePage}{darkness=1}} + +\setlayerframed + [TitlePage] + [preset=rightbottom, + hoffset=.1\paperwidth, + voffset=.1\paperwidth] + [align=left, + width=\hsize, + frame=off, + foregroundcolor=gray] + {\definedfont[SerifBold sa 10]SciTE\endgraf + \definedfont[SerifBold sa 2.48]IN CONTEXT MkIV\kern.25\bodyfontsize} + +\startTEXpage + \tightlayer[TitlePage] +\stopTEXpage + +% main text + +\subject{About \SCITE} + +{\em This manual is under (re)construction.} + +For a long time at \PRAGMA\ we used \TEXEDIT, an editor we'd written in \MODULA. +It had some project management features and recognized the project structure in +\CONTEXT\ documents. Later we rewrote this to a platform independent +reimplementation called \TEXWORK\ written in \PERLTK\ (not to be confused with +the editor with the plural name). + +In the beginning of the century I can into \SCITE, written by Neil Hodgson. +Although the mentioned editors provide some functionality not present in \SCITE\ +we decided to use that editor because it frees us from maintaining our own. I +ported our \TEX\ and \METAPOST\ (line based) syntax highlighting to \SCITE\ and +got a lot of others for free. + +After a while I found out that there was an extension interface written in \LUA. +I played with it and wrote a few extensions too. This pleasant experience later +triggered the \LUATEX\ project. + +A decade into the century \SCITE\ got another new feature: you can write dynamic +external lexers in \LUA\ using \LPEG. As in the meantime \CONTEXT\ has evolved in +a \TEX/\LUA\ hybrid, it made sense to look into this. The result is a couple of +lexers that suit \TEX, \METAPOST\ and \LUA\ usage in \CONTEXT\ \MKIV. As we also +use \XML\ as input and output format a lexer for \XML\ is also provided. And +because \PDF\ is one of the backend formats lexing of \PDF\ is also implemented. +\footnote {In the process some of the general lexing framework was adapted to +suit our demands for speed. We ship these files as well.} + +In the \CONTEXT\ (standalone) distribution you will find the relevant files +under: + +\starttyping +/tex/texmf-context/context/data/scite +\stoptyping + +Normally a user will not have to dive into the implementation details but in +principle you can tweak the properties files to suit your purpose. + +\subject{The look and feel} + +The color scheme that we use is consistent over the lexers but we use more colors +that in the traditional lexing. For instance, \TEX\ primitives, low level \TEX\ +commands, \TEX\ constants, basic file structure related commands, and user +commands all get a different treatment. When spell checking is turned on, we +indicate unknown words, but also words that are known but might need checking, +for instance because they have an uppercase character. In \in {figure} +[fig:colors] we some of that in practice. + +\placefigure + [page] + [fig:colors] + {Nested lexers in action.} + {\rotate + [rotation=90] + {\externalfigure + [scite-context-visual.png] + [maxheight=1.2\textwidth, + maxwidth=.9\textheight]}} + +\subject{Installing \SCITE} + +Installing \SCITE\ is straightforward. We are most familiar with \MSWINDOWS\ but +for other operating systems installation is not much different. First you need to +fetch the archive from: + +\starttyping +www.scintilla.org +\stoptyping + +The \MSWINDOWS\ binaries are zipped in \type {wscite.zip}, and you can unzip this +in any directory you want as long as you make sure that the binary ends up in +your path or as shortcut on your desktop. So, say that you install \SCITE\ in: + +\starttyping +c:\data\system\scite\wscite +\stoptyping + +You need to add this path to your local path definition. Installing \SCITE\ to +some known place has the advantage that you can move it around. There are no +special dependencies on the operating system. + +On \MSWINDOWS\ you can for instance install \SCITE\ in: + +\starttyping +c:\data\system\scite +\stoptyping + +and then end up with: + +\starttyping +c:\data\system\scite\wscite +\stoptyping + +and that is the path you need to add to your environment \type {PATH} variable. + +On \LINUX\ the files end up in: + +\starttyping +/usr/bin +/usr/share/scite +\stoptyping + +Where the second path is the path we will put more files. + +\subject{Installing \type {scintillua}} + +Next you need to install the lpeg lexers. \footnote {Versions later than 2.11 +will not run on \MSWINDOWS\ 2K. In that case you need to comment the external +lexer import.} The library is part of the \type {textadept} editor by Mitchell +(\hyphenatedurl {mitchell.att.foicica.com}) which is also based on scintilla: +The archive can be fetched from: + +\starttyping +http://foicica.com/scintillua/ +\stoptyping + +On \MSWINDOWS\ you need to copy the files to the \type {wscite} folder (so we end +up with a \type {lexers} subfolder there). For \LINUX\ the place depends on the +distribution, for instance \type {/usr/share/scite}; this is the place where the +regular properties files live. \footnote {If you update, don't do so without +testing first. Sometimes there are changes in \SCITE\ that influence the lexers +in which case you have to wait till we have update them to suit those changes.} + +So, you end up, on \MSWINDOWS\ with: + +\starttyping +c:\data\system\scite\wscite\lexers +\stoptyping + +And on \LINUX: + +\starttyping +/usr/share/scite/lexers +\stoptyping + +Beware: if you're on a 64 bit system, you need to rename the 64 bit \type {so} +library into one without a number. Unfortunately the 64 bit library is now always +available which can give surprises when the operating system gets updates. In such +a case you should downgrade or use \type {wine} with the \MSWINDOWS\ binaries +instead. After installation you need to restart \SCITE\ in order to see if things +work out as expected. + +\subject{Installing the \CONTEXT\ lexers} + +When we started using this nice extension, we ran into issues and as a +consequence shipped a patched \LUA\ code. We also needed some more control as we +wanted to provide more features and complex nested lexers. Because the library +\API\ changed a couple of times, we now have our own variant which will be +cleaned up over time to be more consistent with our other \LUA\ code (so that we +can also use it in \CONTEXT\ as variant verbatim lexer). We hope to be able to +use the \type {scintillua} library as it does the job. + +Anyway, if you want to use \CONTEXT, you need to copy the relevant files from + +\starttyping +/tex/texmf-context/context/data/scite +\stoptyping + +to the path were \SCITE\ keeps its property files (\type {*.properties}). This is +the path we already mentioned. There should be a file there called \type +{SciteGlobal.properties}. + +So,in the end you get on \MSWINDOWS\ new files in: + +\starttyping +c:\data\system\scite\wscite +c:\data\system\scite\wscite\context +c:\data\system\scite\wscite\context\lexer +c:\data\system\scite\wscite\context\lexer\themes +c:\data\system\scite\wscite\context\lexer\data +c:\data\system\scite\wscite\context\documents +\stoptyping + +while on \LINUX\ you get: + +\starttyping +/usr/bin/share/ +/usr/bin/share/context +/usr/bin/share/context/lexer +/usr/bin/share/context/lexer/themes +/usr/bin/share/context/lexer/data +/usr/bin/share/context/documents +\stoptyping + +At the end of the \type {SciteGlobal.properties} you need to add the following +line: + +\starttyping +import context/scite-context-user +\stoptyping + +After this, things should run as expected (given that \TEX\ runs at the console +as well). + +% In order to run the commands needed, we assume that the following programs +% are installed: +% +% \startitemize[packed] +% \item tidy (for quick and dirty checking of \XML\ files) +% \item xsltproc (for converting \XML\ files into other formats) +% \item acrobat (for viewing files) +% \item ghostview (for viewing files, use gv on \UNIX) +% \item rxvt (a console, only needed on \UNIX) +% \stopitemize + +\subject{Fonts} + +The configuration file defaults to the Dejavu fonts. These free fonts are part of +the \CONTEXT\ suite (also known as the standalone distribution). Of course you +can fetch them from \type {http://dejavu-fonts.org} as well. You have to copy +them to where your operating system expects them. In the suite they are available +in: + +\starttyping +/tex/texmf/fonts/truetype/public/dejavu +\stoptyping + +\subject{Extensions} + +Just a quick note to some extensions. If you select a part of the text (normally +you do this with the shift key pressed) and you hit \type {Shift-F11}, you get a +menu with some options. More (robust) ones will be provided at some point. + +\subject{Spell checking} + +If you want to have spell checking, you need have files with correct words on +each line. The first line of a file determines the language: + +\starttyping +% language=uk +\stoptyping + +When you use the external lexers, you need to provide some files. Given that you +have a text file with valid words only, you can run the following script: + +\starttyping +mtxrun --script scite --words nl uk +\stoptyping + +This will convert files with names like \type {spell-nl.txt} into \LUA\ files +that you need to copy to the \type {lexers/data} path. Spell checking happens +realtime when you have the language directive (just add a bogus character to +disable it). Wrong words are colored red, and words that might have a case +problem are colored orange. Recognized words are greyed and words with less than +three characters are ignored. + +A spell checking file has to be put in the \type {lexers/data} directory and +looks as follows (e.g. \type {spell-uk.lua}): + +\starttyping +return { + ["max"]=40, + ["min"]=3, + ["n"]=151493, + ["words"]={ + ["aardvark"]="aardvark", + ["aardvarks"]="aardvarks", + ["aardwolf"]="aardwolf", + ["aardwolves"]="aardwolves", + ... + } +} +\stoptyping + +The keys are words that get checked for the given value (which can have uppercase +characters). The word files are not distributed (but they might be at some point). + +In the case of internal lexers, the following file is needed: + +\starttyping +spell-uk.txt +\stoptyping + +If you use the traditional lexer, this file is taken from the path determined by +the environment variable: + +\starttyping +CTXSPELLPATH +\stoptyping + +As already mentioned, the lpeg lexer expects them in the data path. This is +because the \LUA\ instance that does the lexing is rather minimalistic and lacks +some libraries as well as cannot access the main \SCITE\ state. + +Spell checking in \type {txt} files is enabled by adding a first line: + +\starttyping +[#!-%] language=uk +\stoptyping + +The first character on that line is one of the four mentioned between square +brackets. So, + +\starttyping +# language=uk +\stoptyping + +should work. For \XML\ files there are two methods. You can use the following (at +the start of the file): + +\starttyping + +\stoptyping + +But probably better is to use the next directive just below the +usual \XML\ marker line: + +\starttyping + +\stoptyping + +\subject{Interface selection} + +In a similar fashion you can drive the interface checking: + +\starttyping +% interface=nl +\stoptyping + +\subject{Property files} + +The internal lexers are controlled by the property files while the external ones +are steered with themes. Unfortunately there is hardly any access to properties +from the external lexer code nor can we consult the file system and/or run +programs like \type {mtxrun}. This means that we cannot use configuration files +in the \CONTEXT\ distribution directly. Hopefully this changes with future +releases. + +\subject{The external lexers} + +These are the more advanced lexers. They provide more detail and the \CONTEXT\ +lexer also supports nested \METAPOST\ and \LUA. Currently there is no detailed +configuration but this might change once they are stable. + +The external lexers operate on documents while the internal ones operate on +lines. This can make the external lexers slow on large documents. We've optimized +the code somewhat for speed and memory consumption but there's only so much one +can do. While lexing each change in style needs a small table but allocating and +garbage collecting many small tables comes at a price. Of course in practice this +probably gets unnoticed. \footnote {I wrote the code in 2011 on a more than 5 +years old Dell M90 laptop, so I suppose that speed is less an issue now.} + +The external lpeg lexers work okay with the \MSWINDOWS\ and \LINUX\ versions of +\SCITE, but unfortunately at the time of writing this, the \LUA\ library that is +needed is not available for the \MACOSX\ version of \SCITE. Also, due to the fact +that the lexing framework is rather isolated, there are some issues that cannot +be addressed in the properly, at least not currently. + +In addition to \CONTEXT\ and \METAFUN\ lexing a \LUA\ lexer is also provided so +that we can handle \CONTEXT\ \LUA\ Document (\CLD) files too. There is also an +\XML\ lexer. This one also provides spell checking. The \PDF\ lexer tries to do a +good job on \PDF\ files, but it has some limitations. There is also a simple text +file lexer that does spell checking. Finally there is a lexer for \CWEB\ files. + +Don't worry if you see an orange rectangle in your \TEX\ or \XML\ document. This +indicates that there is a special space character there, for instance \type +{0xA0}, the nonbreakable space. Of course we assume that you use \UTF8 as input +encoding. + +\subject{The internal lexers} + +\SCITE\ has quite some built in lexers. A lexer is responsible for highlighting +the syntax of your document. The way a \TEX\ file is treated is configured in the +file: + +\starttyping +tex.properties +\stoptyping + +You can edit this file to your needs using the menu entry under \type {options} +in the top bar. In this file, the following settings apply to the \TEX\ lexer: + +\starttyping +lexer.tex.interface.default=0 +lexer.tex.use.keywords=1 +lexer.tex.comment.process=0 +lexer.tex.auto.if=1 +\stoptyping + +The option \type {lexer.tex.interface.default} determines the way keywords are +highlighted. You can control the interface from your document as well, which +makes more sense that editing the configuration file each time. + +\starttyping +% interface=all|tex|nl|en|de|cz|it|ro|latex +\stoptyping + +The values in the properties file and the keywords in the preamble line have the +following meaning: + +\starttabulate[|lT|lT|p|] +\NC 0 \NC all \NC all commands (preceded by a backslash) \NC \NR +\NC 1 \NC tex \NC \TEX, \ETEX, \PDFTEX, \OMEGA\ primitives (and macros) \NC \NR +\NC 2 \NC nl \NC the dutch \CONTEXT\ interface \NC \NR +\NC 3 \NC en \NC the english \CONTEXT\ interface \NC \NR +\NC 4 \NC de \NC the german \CONTEXT\ interface \NC \NR +\NC 5 \NC cz \NC the czech \CONTEXT\ interface \NC \NR +\NC 6 \NC it \NC the italian \CONTEXT\ interface \NC \NR +\NC 7 \NC ro \NC the romanian \CONTEXT\ interface \NC \NR +\NC 8 \NC latex \NC \LATEX\ (apart from packages) \NC \NR +\stoptabulate + +The configuration file is set up in such a way that you can easily add more +keywords to the lists. The keywords for the second and higher interfaces are +defined in their own properties files. If you're curious about the way this is +configures, you can peek into the property files that start with \type +{scite-context}. When you have \CONTEXT\ installed you can generate configuration +files with + +\starttyping +mtxrun --script interface --scite +\stoptyping + +You need to make sure that you move the result to the right place so best not +mess around with this command and use the files from the distribution. + +Back to the properties in \type {tex.properties}. You can disable keyword +coloring alltogether with: + +\starttyping +lexer.tex.use.keywords=0 +\stoptyping + +but this is only handy for testing purposes. More interesting is that you can +influence the way comment is treated: + +\starttyping +lexer.tex.comment.process=0 +\stoptyping + +When set to zero, comment is not interpreted as \TEX\ code and it will come out +in a uniform color. But, when set to one, you will get as much colors as a \TEX\ +source. It's a matter of taste what you choose. + +The lexer tries to cope with the \TEX\ syntax as good as possible and takes for +instance care of the funny \type {^^} notation. A special treatment is applied to +so called \type {\if}'s: + +\starttyping +lexer.tex.auto.if=1 +\stoptyping + +This is the default setting. When set to one, all \type {\ifwhatever}'s will be +seen as a command. When set to zero, only the primitive \type {\if}'s will be +treated. In order not to confuse you, when this property is set to one, the lexer +will not color an \type {\ifwhatever} that follows an \type {\newif}. + +\subject{The \METAPOST\ lexer} + +The \METAPOST\ lexer is set up slightly different from its \TEX\ counterpart, +first of all because \METAPOST\ is more a language that \TEX. As with the \TEX\ +lexer, we can control the interpretation of identifiers. The \METAPOST\ specific +configuration file is: + +\starttyping +metapost.properties +\stoptyping + +Here you can find properties like: + +\starttyping +lexer.metapost.interface.default=1 +\stoptyping + +Instead of editing the configuration file you can control the lexer with the +first line in your document: + +\starttyping +% interface=none|metapost|mp|metafun +\stoptyping + +The numbers and keywords have the following meaning: + +\starttabulate[|lT|lT|p|] +\NC 0 \NC none \NC no highlighting of identifiers \NC \NR +\NC 1 \NC metapost or mp \NC \METAPOST\ primitives and macros \NC \NR +\NC 2 \NC metafun \NC \METAFUN\ macros \NC \NR +\stoptabulate + +Similar to the \TEX\ lexer, you can influence the way comments are handled: + +\starttyping +lexer.metapost.comment.process=1 +\stoptyping + +This will interpret comment as \METAPOST\ code, which is not that useful +(opposite to \TEX, where documentation is often coded in \TEX). + +The lexer will color the \METAPOST\ keywords, and, when enabled also additional +keywords (like those of \METAFUN). The additional keywords are colored and shown +in a slanted font. + +The \METAFUN\ keywords are defined in a separate file: + +\starttyping +metafun-scite.properties +\stoptyping + +You can either copy this file to the path where you global properties files lives, +or put a copy in the path of your user properties file. In that case you need to +add an entry to the file \type {SciTEUser.properties}: + +\starttyping +import metafun-scite +\stoptyping + +The lexer is able to recognize \type {btex}||\type {etex} and will treat anything +in between as just text. The same happens with strings (between \type {"}). Both +act on a per line basis. + +\subject{Using \ConTeXt} + +When \type {mtxrun} is in your path, \CONTEXT\ should run out of the box. You can +find \type {mtxrun} in: + +\starttyping +/tex/texmf-mswin/bin +\stoptyping + +or in a similar path that suits the operating system that you use. + +When you hit \type{CTRL-12} your document will be processed. Take a look at the +\type {Tools} menu to see what more is provided. + +\subject{Extensions (using \LUA)} + +When the \LUA\ extensions are loaded, you will see a message in the log pane that +looks like: + +\starttyping +- see scite-ctx.properties for configuring info + +- ctx.spellcheck.wordpath set to ENV(CTXSPELLPATH) +- ctxspellpath set to c:\data\develop\context\spell +- ctx.spellcheck.wordpath expands to c:\data\develop\context\spell + +- ctx.wraptext.length is set to 65 +- key bindings: + +Shift + F11 pop up menu with ctx options + +Ctrl + B check spelling +Ctrl + M wrap text (auto indent) +Ctrl + R reset spelling results +Ctrl + I insert template +Ctrl + E open log file +Ctrl + + show language character strip (key might change) + +- recognized first lines: + +xml \n\ +?\n\ +?\n\ +?\n\ +\n +\stoptyping + +For larger projects it makes sense to keep templates with the project. In one of +our projects we have a directory in the path where the project files are kept +which holds template files: + +\starttyping +..../ctx-templates/achtergronden.xml +..../ctx-templates/bewijs.xml +\stoptyping + +One could define a template menu like we did previously: + +\starttyping +ctx.templatelist.example=\ + achtergronden=mathadore.achtergronden|\ + bewijs=mathadore.bewijs|\ + +ctx.template.mathadore.achtergronden.file=smt-achtergronden.xml +ctx.template.mathadore.bewijs.file=smt-bewijs.xml +\stoptyping + +However, when no such menu is defined, we will automatically scan the directory +and build the menu without user intervention. + +\subject{Using \SCITE} + +The following keybindings are available in \SCITE. Most of this list is taken +from the on|-|line help pages. + +\startbuffer[keybindings] +\starttabulate[|l|p|] +\FL +\NC \rm \bf keybinding \NC \bf meaning (taken from the \SCITE\ help file) \NC \NR +\ML +\NC \type{Ctrl+Keypad+} \NC magnify text size \NC \NR +\NC \type{Ctrl+Keypad-} \NC reduce text size \NC \NR +\NC \type{Ctrl+Keypad/} \NC restore text size to normal \NC \NR +\ML +\NC \type{Ctrl+Keypad*} \NC expand or contract a fold point \NC \NR +\ML +\NC \type{Ctrl+Tab} \NC cycle through recent files \NC \NR +\ML +\NC \type{Tab} \NC indent block \NC \NR +\NC \type{Shift+Tab} \NC dedent block \NC \NR +\ML +\NC \type{Ctrl+BackSpace} \NC delete to start of word \NC \NR +\NC \type{Ctrl+Delete} \NC delete to end of word \NC \NR +\NC \type{Ctrl+Shift+BackSpace} \NC delete to start of line \NC \NR +\NC \type{Ctrl+Shift+Delete} \NC delete to end of line \NC \NR +\ML +\NC \type{Ctrl+Home} \NC go to start of document; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+End} \NC go to end of document; \type{Shift} extends selection \NC \NR +\NC \type{Alt+Home} \NC go to start of display line; \type{Shift} extends selection \NC \NR +\NC \type{Alt+End} \NC go to end of display line; \type{Shift} extends selection \NC \NR +\ML +\NC \type{Ctrl+F2} \NC create or delete a bookmark \NC \NR +\NC \type{F2} \NC go to next bookmark \NC \NR +\ML +\NC \type{Ctrl+F3} \NC find selection \NC \NR +\NC \type{Ctrl+Shift+F3} \NC find selection backwards \NC \NR +\ML +\NC \type{Ctrl+Up} \NC scroll up \NC \NR +\NC \type{Ctrl+Down} \NC scroll down \NC \NR +\ML +\NC \type{Ctrl+C} \NC copy selection to buffer \NC \NR +\NC \type{Ctrl+V} \NC insert content of buffer \NC \NR +\NC \type{Ctrl+X} \NC copy selection to buffer and delete selection \NC \NR +\ML +\NC \type{Ctrl+L} \NC line cut \NC \NR +\NC \type{Ctrl+Shift+T} \NC line copy \NC \NR +\NC \type{Ctrl+Shift+L} \NC line delete \NC \NR +\NC \type{Ctrl+T} \NC line transpose with previous \NC \NR +\NC \type{Ctrl+D} \NC line duplicate \NC \NR +\ML +\NC \type{Ctrl+K} \NC find matching preprocessor conditional, skipping nested ones \NC \NR +\NC \type{Ctrl+Shift+K} \NC select to matching preprocessor conditional \NC \NR +\NC \type{Ctrl+J} \NC find matching preprocessor conditional backwards, skipping nested ones \NC \NR +\NC \type{Ctrl+Shift+J} \NC select to matching preprocessor conditional backwards \NC \NR +\ML +\NC \type{Ctrl+[} \NC previous paragraph; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+]} \NC next paragraph; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+Left} \NC previous word; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+Right} \NC next word; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+/} \NC previous word part; \type{Shift} extends selection \NC \NR +\NC \type{Ctrl+\ } \NC next word part; \type{Shift} extends selection \NC \NR +\ML +\NC \type{F12 / Ctrl+F7} \NC check (or process) \NC \NR +\NC \type{Ctrl+F12 / Ctrl+F7} \NC process (run) \NC \NR +\NC \type{Alt+F12 / Ctrl+F7} \NC process (run) using the luajit vm (if applicable) \NC \NR +\LL +\stoptabulate +\stopbuffer + +\getbuffer[keybindings] + +\page + +\subject{Affiliation} + +\starttabulate[|l|l|] +\NC author \NC Hans Hagen \NC \NR +\NC copyright \NC PRAGMA ADE, Hasselt NL \NC \NR +\NC more info \NC \type {www.pragma-ade.com} \NC \NR +\NC \NC \type {www.contextgarden.net} \NC \NR +\NC version \NC \currentdate \NC \NR +\stoptabulate + +\stoptext diff --git a/context/data/scite/context/documents/scite-context-visual.pdf b/context/data/scite/context/documents/scite-context-visual.pdf new file mode 100644 index 000000000..69d82eda6 --- /dev/null +++ b/context/data/scite/context/documents/scite-context-visual.pdf @@ -0,0 +1,1364 @@ +%PDF-1.6 +%ะิลุ +17 0 obj +<> +stream +0 g 0 G +0 g 0 G +BT +/F1 11.955168 Tf 1 0 0 1 280.5345 760.6422 Tm [<0052>]TJ +/F1 20.658493 Tf 1 0 0 1 70.867 696.3895 Tm [<0052>-750<00610051004B0032>-326<0037001C004D002B0076>-326<00690042006900480032>]TJ +/F1 11.955168 Tf 1 0 0 1 83.2207 641.7609 Tm [<0068003F0032>-326<0069003F00420060002F>-326<0032004D0069006000760035>]TJ +ET +q +1 0 0 1 70.867 664.3031 cm +[]0 d 0 J 0.3985 w 0 0 m 318.8947 0 l S +Q +q +1 0 0 1 71.0662 625.3676 cm +[]0 d 0 J 0.3985 w 0 0 m 0 39.1348 l S +Q +q +1 0 0 1 389.5625 625.3676 cm +[]0 d 0 J 0.3985 w 0 0 m 0 39.1348 l S +Q +q +1 0 0 1 70.867 625.5668 cm +[]0 d 0 J 0.3985 w 0 0 m 318.8947 0 l S +Q +BT +/F1 11.955168 Tf 1 0 0 1 83.2207 589.6746 Tm [<0068003F0032>-326<00370051006D00600069003F>-326<0032004D0069006000760035>]TJ +ET +q +1 0 0 1 70.867 612.2169 cm +[]0 d 0 J 0.3985 w 0 0 m 318.8947 0 l S +Q +q +1 0 0 1 71.0662 573.2813 cm +[]0 d 0 J 0.3985 w 0 0 m 0 39.1348 l S +Q +q +1 0 0 1 389.5625 573.2813 cm +[]0 d 0 J 0.3985 w 0 0 m 0 39.1348 l S +Q +q +1 0 0 1 70.867 573.4806 cm +[]0 d 0 J 0.3985 w 0 0 m 318.8947 0 l S +Q +BT +/F1 11.955168 Tf 1 0 0 1 70.867 550.9383 Tm [<0068003F00420062>-293<00420062>-293<0044006D00620069>-293<00620051004B0032>-293<0069003200740069>-293<00690051>-293<002F0032004B0051004D006200690060001C00690032>-293<0069003F0032>-293<00600032001C004800690042004B0032>-293<00620054>-27<003200480048002B>26<003F0032002B>27<0046>27<00320060>-292<0042004D>-293<002B0051004B00230042004D001C006900420051004D>-293<007200420069003F>]TJ +1 0 0 1 70.867 536.5108 Tm [<0069003F0032>-326<0032004B0023>-27<0032002F002F0032002F>-326<0048006D001C>-326<001C004D002F>-326<004B00320069001C0054>-27<005100620069>-326<004800320074003200600062>-326<001C004D002F>-326<0042004D00480042004D0032>-326<001C0062>-326<0072>27<003200480048>-326<001C0062>-326<002F0042006200540048001C>27<0076>-326<0048006D001C>-326<002B0051>-27<002F00320058>]TJ +ET +1 0 0 1 212.8474 389.4945 cm +% mps graphic 1: begin +q +0 g 0 G +10.000000 M +1 j +1 J +0.500000 w +1.417328 0.000000 m +1.417328 0.375916 1.267960 0.736389 1.002182 1.002182 c +0.736389 1.267960 0.375916 1.417328 0.000000 1.417328 c +-0.375916 1.417328 -0.736389 1.267960 -1.002182 1.002182 c +-1.267960 0.736389 -1.417328 0.375916 -1.417328 0.000000 c +-1.417328 -0.375916 -1.267960 -0.736389 -1.002182 -1.002182 c +-0.736389 -1.267960 -0.375916 -1.417328 0.000000 -1.417328 c +0.375916 -1.417328 0.736389 -1.267960 1.002182 -1.002182 c +1.267960 -0.736389 1.417328 -0.375916 1.417328 0.000000 c +h S +0.500000 w +2.834641 0.000000 m +2.834641 0.751831 2.535934 1.472778 2.004349 2.004349 c +1.472778 2.535934 0.751831 2.834641 0.000000 2.834641 c +-0.751831 2.834641 -1.472778 2.535934 -2.004349 2.004349 c +-2.535934 1.472778 -2.834641 0.751831 -2.834641 0.000000 c +-2.834641 -0.751831 -2.535934 -1.472778 -2.004349 -2.004349 c +-1.472778 -2.535934 -0.751831 -2.834641 0.000000 -2.834641 c +0.751831 -2.834641 1.472778 -2.535934 2.004349 -2.004349 c +2.535934 -1.472778 2.834641 -0.751831 2.834641 0.000000 c +h S +0.500000 w +4.251968 0.000000 m +4.251968 1.127747 3.803894 2.209152 3.006531 3.006531 c +2.209152 3.803894 1.127747 4.251968 0.000000 4.251968 c +-1.127747 4.251968 -2.209152 3.803894 -3.006531 3.006531 c +-3.803894 2.209152 -4.251968 1.127747 -4.251968 0.000000 c +-4.251968 -1.127747 -3.803894 -2.209152 -3.006531 -3.006531 c +-2.209152 -3.803894 -1.127747 -4.251968 0.000000 -4.251968 c +1.127747 -4.251968 2.209152 -3.803894 3.006531 -3.006531 c +3.803894 -2.209152 4.251968 -1.127747 4.251968 0.000000 c +h S +0.500000 w +5.669281 0.000000 m +5.669281 1.503647 5.071869 2.945541 4.008698 4.008698 c +2.945541 5.071869 1.503647 5.669281 0.000000 5.669281 c +-1.503647 5.669281 -2.945541 5.071869 -4.008698 4.008698 c +-5.071869 2.945541 -5.669281 1.503647 -5.669281 0.000000 c +-5.669281 -1.503647 -5.071869 -2.945541 -4.008698 -4.008698 c +-2.945541 -5.071869 -1.503647 -5.669281 0.000000 -5.669281 c +1.503647 -5.669281 2.945541 -5.071869 4.008698 -4.008698 c +5.071869 -2.945541 5.669281 -1.503647 5.669281 0.000000 c +h S +0.500000 w +7.086609 0.000000 m +7.086609 1.879562 6.339828 3.681931 5.010880 5.010880 c +3.681931 6.339828 1.879562 7.086609 0.000000 7.086609 c +-1.879562 7.086609 -3.681931 6.339828 -5.010880 5.010880 c +-6.339828 3.681931 -7.086609 1.879562 -7.086609 0.000000 c +-7.086609 -1.879562 -6.339828 -3.681931 -5.010880 -5.010880 c +-3.681931 -6.339828 -1.879562 -7.086609 0.000000 -7.086609 c +1.879562 -7.086609 3.681931 -6.339828 5.010880 -5.010880 c +6.339828 -3.681931 7.086609 -1.879562 7.086609 0.000000 c +h S +0.500000 w +8.503922 0.000000 m +8.503922 2.255478 7.607803 4.418320 6.013062 6.013062 c +4.418320 7.607803 2.255478 8.503922 0.000000 8.503922 c +-2.255478 8.503922 -4.418320 7.607803 -6.013062 6.013062 c +-7.607803 4.418320 -8.503922 2.255478 -8.503922 0.000000 c +-8.503922 -2.255478 -7.607803 -4.418320 -6.013062 -6.013062 c +-4.418320 -7.607803 -2.255478 -8.503922 0.000000 -8.503922 c +2.255478 -8.503922 4.418320 -7.607803 6.013062 -6.013062 c +7.607803 -4.418320 8.503922 -2.255478 8.503922 0.000000 c +h S +0.500000 w +9.921249 0.000000 m +9.921249 2.631393 8.875763 5.154694 7.015228 7.015228 c +5.154694 8.875763 2.631393 9.921249 0.000000 9.921249 c +-2.631393 9.921249 -5.154694 8.875763 -7.015228 7.015228 c +-8.875763 5.154694 -9.921249 2.631393 -9.921249 0.000000 c +-9.921249 -2.631393 -8.875763 -5.154694 -7.015228 -7.015228 c +-5.154694 -8.875763 -2.631393 -9.921249 0.000000 -9.921249 c +2.631393 -9.921249 5.154694 -8.875763 7.015228 -7.015228 c +8.875763 -5.154694 9.921249 -2.631393 9.921249 0.000000 c +h S +0.500000 w +11.338562 0.000000 m +11.338562 3.007309 10.143738 5.891083 8.017410 8.017410 c +5.891083 10.143738 3.007309 11.338562 0.000000 11.338562 c +-3.007309 11.338562 -5.891083 10.143738 -8.017410 8.017410 c +-10.143738 5.891083 -11.338562 3.007309 -11.338562 0.000000 c +-11.338562 -3.007309 -10.143738 -5.891083 -8.017410 -8.017410 c +-5.891083 -10.143738 -3.007309 -11.338562 0.000000 -11.338562 c +3.007309 -11.338562 5.891083 -10.143738 8.017410 -8.017410 c +10.143738 -5.891083 11.338562 -3.007309 11.338562 0.000000 c +h S +0.500000 w +12.755890 0.000000 m +12.755890 3.383224 11.411697 6.627472 9.019592 9.019592 c +6.627472 11.411697 3.383224 12.755890 0.000000 12.755890 c +-3.383224 12.755890 -6.627472 11.411697 -9.019592 9.019592 c +-11.411697 6.627472 -12.755890 3.383224 -12.755890 0.000000 c +-12.755890 -3.383224 -11.411697 -6.627472 -9.019592 -9.019592 c +-6.627472 -11.411697 -3.383224 -12.755890 0.000000 -12.755890 c +3.383224 -12.755890 6.627472 -11.411697 9.019592 -9.019592 c +11.411697 -6.627472 12.755890 -3.383224 12.755890 0.000000 c +h S +0.500000 w +14.173203 0.000000 m +14.173203 3.759140 12.679672 7.363861 10.021759 10.021759 c +7.363861 12.679672 3.759140 14.173203 0.000000 14.173203 c +-3.759140 14.173203 -7.363861 12.679672 -10.021759 10.021759 c +-12.679672 7.363861 -14.173203 3.759140 -14.173203 0.000000 c +-14.173203 -3.759140 -12.679672 -7.363861 -10.021759 -10.021759 c +-7.363861 -12.679672 -3.759140 -14.173203 0.000000 -14.173203 c +3.759140 -14.173203 7.363861 -12.679672 10.021759 -10.021759 c +12.679672 -7.363861 14.173203 -3.759140 14.173203 0.000000 c +h S +0.500000 w +15.590530 0.000000 m +15.590530 4.135040 13.947632 8.100235 11.023941 11.023941 c +8.100235 13.947632 4.135040 15.590530 0.000000 15.590530 c +-4.135040 15.590530 -8.100235 13.947632 -11.023941 11.023941 c +-13.947632 8.100235 -15.590530 4.135040 -15.590530 0.000000 c +-15.590530 -4.135040 -13.947632 -8.100235 -11.023941 -11.023941 c +-8.100235 -13.947632 -4.135040 -15.590530 0.000000 -15.590530 c +4.135040 -15.590530 8.100235 -13.947632 11.023941 -11.023941 c +13.947632 -8.100235 15.590530 -4.135040 15.590530 0.000000 c +h S +0.500000 w +17.007843 0.000000 m +17.007843 4.510956 15.215607 8.836624 12.026108 12.026108 c +8.836624 15.215607 4.510956 17.007843 0.000000 17.007843 c +-4.510956 17.007843 -8.836624 15.215607 -12.026108 12.026108 c +-15.215607 8.836624 -17.007843 4.510956 -17.007843 0.000000 c +-17.007843 -4.510956 -15.215607 -8.836624 -12.026108 -12.026108 c +-8.836624 -15.215607 -4.510956 -17.007843 0.000000 -17.007843 c +4.510956 -17.007843 8.836624 -15.215607 12.026108 -12.026108 c +15.215607 -8.836624 17.007843 -4.510956 17.007843 0.000000 c +h S +0.500000 w +18.425171 0.000000 m +18.425171 4.886871 16.483566 9.573013 13.028290 13.028290 c +9.573013 16.483566 4.886871 18.425171 0.000000 18.425171 c +-4.886871 18.425171 -9.573013 16.483566 -13.028290 13.028290 c +-16.483566 9.573013 -18.425171 4.886871 -18.425171 0.000000 c +-18.425171 -4.886871 -16.483566 -9.573013 -13.028290 -13.028290 c +-9.573013 -16.483566 -4.886871 -18.425171 0.000000 -18.425171 c +4.886871 -18.425171 9.573013 -16.483566 13.028290 -13.028290 c +16.483566 -9.573013 18.425171 -4.886871 18.425171 0.000000 c +h S +0.500000 w +19.842484 0.000000 m +19.842484 5.262787 17.751541 10.309402 14.030472 14.030472 c +10.309402 17.751541 5.262787 19.842484 0.000000 19.842484 c +-5.262787 19.842484 -10.309402 17.751541 -14.030472 14.030472 c +-17.751541 10.309402 -19.842484 5.262787 -19.842484 0.000000 c +-19.842484 -5.262787 -17.751541 -10.309402 -14.030472 -14.030472 c +-10.309402 -17.751541 -5.262787 -19.842484 0.000000 -19.842484 c +5.262787 -19.842484 10.309402 -17.751541 14.030472 -14.030472 c +17.751541 -10.309402 19.842484 -5.262787 19.842484 0.000000 c +h S +0.500000 w +21.259811 0.000000 m +21.259811 5.638702 19.019501 11.045776 15.032639 15.032639 c +11.045776 19.019501 5.638702 21.259811 0.000000 21.259811 c +-5.638702 21.259811 -11.045776 19.019501 -15.032639 15.032639 c +-19.019501 11.045776 -21.259811 5.638702 -21.259811 0.000000 c +-21.259811 -5.638702 -19.019501 -11.045776 -15.032639 -15.032639 c +-11.045776 -19.019501 -5.638702 -21.259811 0.000000 -21.259811 c +5.638702 -21.259811 11.045776 -19.019501 15.032639 -15.032639 c +19.019501 -11.045776 21.259811 -5.638702 21.259811 0.000000 c +h S +0.500000 w +22.677124 0.000000 m +22.677124 6.014618 20.287476 11.782166 16.034821 16.034821 c +11.782166 20.287476 6.014618 22.677124 0.000000 22.677124 c +-6.014618 22.677124 -11.782166 20.287476 -16.034821 16.034821 c +-20.287476 11.782166 -22.677124 6.014618 -22.677124 0.000000 c +-22.677124 -6.014618 -20.287476 -11.782166 -16.034821 -16.034821 c +-11.782166 -20.287476 -6.014618 -22.677124 0.000000 -22.677124 c +6.014618 -22.677124 11.782166 -20.287476 16.034821 -16.034821 c +20.287476 -11.782166 22.677124 -6.014618 22.677124 0.000000 c +h S +0.500000 w +24.094452 0.000000 m +24.094452 6.390533 21.555435 12.518555 17.037003 17.037003 c +12.518555 21.555435 6.390533 24.094452 0.000000 24.094452 c +-6.390533 24.094452 -12.518555 21.555435 -17.037003 17.037003 c +-21.555435 12.518555 -24.094452 6.390533 -24.094452 0.000000 c +-24.094452 -6.390533 -21.555435 -12.518555 -17.037003 -17.037003 c +-12.518555 -21.555435 -6.390533 -24.094452 0.000000 -24.094452 c +6.390533 -24.094452 12.518555 -21.555435 17.037003 -17.037003 c +21.555435 -12.518555 24.094452 -6.390533 24.094452 0.000000 c +h S +0.500000 w +25.511765 0.000000 m +25.511765 6.766434 22.823410 13.254944 18.039169 18.039169 c +13.254944 22.823410 6.766434 25.511765 0.000000 25.511765 c +-6.766434 25.511765 -13.254944 22.823410 -18.039169 18.039169 c +-22.823410 13.254944 -25.511765 6.766434 -25.511765 0.000000 c +-25.511765 -6.766434 -22.823410 -13.254944 -18.039169 -18.039169 c +-13.254944 -22.823410 -6.766434 -25.511765 0.000000 -25.511765 c +6.766434 -25.511765 13.254944 -22.823410 18.039169 -18.039169 c +22.823410 -13.254944 25.511765 -6.766434 25.511765 0.000000 c +h S +0.500000 w +26.929092 0.000000 m +26.929092 7.142349 24.091370 13.991318 19.041351 19.041351 c +13.991318 24.091370 7.142349 26.929092 0.000000 26.929092 c +-7.142349 26.929092 -13.991318 24.091370 -19.041351 19.041351 c +-24.091370 13.991318 -26.929092 7.142349 -26.929092 0.000000 c +-26.929092 -7.142349 -24.091370 -13.991318 -19.041351 -19.041351 c +-13.991318 -24.091370 -7.142349 -26.929092 0.000000 -26.929092 c +7.142349 -26.929092 13.991318 -24.091370 19.041351 -19.041351 c +24.091370 -13.991318 26.929092 -7.142349 26.929092 0.000000 c +h S +0.500000 w +28.346405 0.000000 m +28.346405 7.518265 25.359344 14.727707 20.043518 20.043518 c +14.727707 25.359344 7.518265 28.346405 0.000000 28.346405 c +-7.518265 28.346405 -14.727707 25.359344 -20.043518 20.043518 c +-25.359344 14.727707 -28.346405 7.518265 -28.346405 0.000000 c +-28.346405 -7.518265 -25.359344 -14.727707 -20.043518 -20.043518 c +-14.727707 -25.359344 -7.518265 -28.346405 0.000000 -28.346405 c +7.518265 -28.346405 14.727707 -25.359344 20.043518 -20.043518 c +25.359344 -14.727707 28.346405 -7.518265 28.346405 0.000000 c +h S +0.500000 w +29.763733 0.000000 m +29.763733 7.894180 26.627304 15.464096 21.045700 21.045700 c +15.464096 26.627304 7.894180 29.763733 0.000000 29.763733 c +-7.894180 29.763733 -15.464096 26.627304 -21.045700 21.045700 c +-26.627304 15.464096 -29.763733 7.894180 -29.763733 0.000000 c +-29.763733 -7.894180 -26.627304 -15.464096 -21.045700 -21.045700 c +-15.464096 -26.627304 -7.894180 -29.763733 0.000000 -29.763733 c +7.894180 -29.763733 15.464096 -26.627304 21.045700 -21.045700 c +26.627304 -15.464096 29.763733 -7.894180 29.763733 0.000000 c +h S +0.500000 w +31.181046 0.000000 m +31.181046 8.270096 27.895279 16.200485 22.047882 22.047882 c +16.200485 27.895279 8.270096 31.181046 0.000000 31.181046 c +-8.270096 31.181046 -16.200485 27.895279 -22.047882 22.047882 c +-27.895279 16.200485 -31.181046 8.270096 -31.181046 0.000000 c +-31.181046 -8.270096 -27.895279 -16.200485 -22.047882 -22.047882 c +-16.200485 -27.895279 -8.270096 -31.181046 0.000000 -31.181046 c +8.270096 -31.181046 16.200485 -27.895279 22.047882 -22.047882 c +27.895279 -16.200485 31.181046 -8.270096 31.181046 0.000000 c +h S +0.500000 w +32.598373 0.000000 m +32.598373 8.646011 29.163239 16.936859 23.050049 23.050049 c +16.936859 29.163239 8.646011 32.598373 0.000000 32.598373 c +-8.646011 32.598373 -16.936859 29.163239 -23.050049 23.050049 c +-29.163239 16.936859 -32.598373 8.646011 -32.598373 0.000000 c +-32.598373 -8.646011 -29.163239 -16.936859 -23.050049 -23.050049 c +-16.936859 -29.163239 -8.646011 -32.598373 0.000000 -32.598373 c +8.646011 -32.598373 16.936859 -29.163239 23.050049 -23.050049 c +29.163239 -16.936859 32.598373 -8.646011 32.598373 0.000000 c +h S +0.500000 w +34.015686 0.000000 m +34.015686 9.021927 30.431213 17.673248 24.052231 24.052231 c +17.673248 30.431213 9.021927 34.015686 0.000000 34.015686 c +-9.021927 34.015686 -17.673248 30.431213 -24.052231 24.052231 c +-30.431213 17.673248 -34.015686 9.021927 -34.015686 0.000000 c +-34.015686 -9.021927 -30.431213 -17.673248 -24.052231 -24.052231 c +-17.673248 -30.431213 -9.021927 -34.015686 0.000000 -34.015686 c +9.021927 -34.015686 17.673248 -30.431213 24.052231 -24.052231 c +30.431213 -17.673248 34.015686 -9.021927 34.015686 0.000000 c +h S +0.500000 w +35.433014 0.000000 m +35.433014 9.397842 31.699173 18.409637 25.054413 25.054413 c +18.409637 31.699173 9.397842 35.433014 0.000000 35.433014 c +-9.397842 35.433014 -18.409637 31.699173 -25.054413 25.054413 c +-31.699173 18.409637 -35.433014 9.397842 -35.433014 0.000000 c +-35.433014 -9.397842 -31.699173 -18.409637 -25.054413 -25.054413 c +-18.409637 -31.699173 -9.397842 -35.433014 0.000000 -35.433014 c +9.397842 -35.433014 18.409637 -31.699173 25.054413 -25.054413 c +31.699173 -18.409637 35.433014 -9.397842 35.433014 0.000000 c +h S +0.500000 w +36.850327 0.000000 m +36.850327 9.773743 32.967148 19.146027 26.056580 26.056580 c +19.146027 32.967148 9.773743 36.850327 0.000000 36.850327 c +-9.773743 36.850327 -19.146027 32.967148 -26.056580 26.056580 c +-32.967148 19.146027 -36.850327 9.773743 -36.850327 0.000000 c +-36.850327 -9.773743 -32.967148 -19.146027 -26.056580 -26.056580 c +-19.146027 -32.967148 -9.773743 -36.850327 0.000000 -36.850327 c +9.773743 -36.850327 19.146027 -32.967148 26.056580 -26.056580 c +32.967148 -19.146027 36.850327 -9.773743 36.850327 0.000000 c +h S +0.500000 w +38.267654 0.000000 m +38.267654 10.149658 34.235107 19.882401 27.058762 27.058762 c +19.882401 34.235107 10.149658 38.267654 0.000000 38.267654 c +-10.149658 38.267654 -19.882401 34.235107 -27.058762 27.058762 c +-34.235107 19.882401 -38.267654 10.149658 -38.267654 0.000000 c +-38.267654 -10.149658 -34.235107 -19.882401 -27.058762 -27.058762 c +-19.882401 -34.235107 -10.149658 -38.267654 0.000000 -38.267654 c +10.149658 -38.267654 19.882401 -34.235107 27.058762 -27.058762 c +34.235107 -19.882401 38.267654 -10.149658 38.267654 0.000000 c +h S +0.500000 w +39.684967 0.000000 m +39.684967 10.525574 35.503082 20.618790 28.060928 28.060928 c +20.618790 35.503082 10.525574 39.684967 0.000000 39.684967 c +-10.525574 39.684967 -20.618790 35.503082 -28.060928 28.060928 c +-35.503082 20.618790 -39.684967 10.525574 -39.684967 0.000000 c +-39.684967 -10.525574 -35.503082 -20.618790 -28.060928 -28.060928 c +-20.618790 -35.503082 -10.525574 -39.684967 0.000000 -39.684967 c +10.525574 -39.684967 20.618790 -35.503082 28.060928 -28.060928 c +35.503082 -20.618790 39.684967 -10.525574 39.684967 0.000000 c +h S +0.500000 w +41.102295 0.000000 m +41.102295 10.901489 36.771042 21.355179 29.063110 29.063110 c +21.355179 36.771042 10.901489 41.102295 0.000000 41.102295 c +-10.901489 41.102295 -21.355179 36.771042 -29.063110 29.063110 c +-36.771042 21.355179 -41.102295 10.901489 -41.102295 0.000000 c +-41.102295 -10.901489 -36.771042 -21.355179 -29.063110 -29.063110 c +-21.355179 -36.771042 -10.901489 -41.102295 0.000000 -41.102295 c +10.901489 -41.102295 21.355179 -36.771042 29.063110 -29.063110 c +36.771042 -21.355179 41.102295 -10.901489 41.102295 0.000000 c +h S +0.500000 w +42.519608 0.000000 m +42.519608 11.277405 38.039017 22.091568 30.065292 30.065292 c +22.091568 38.039017 11.277405 42.519608 0.000000 42.519608 c +-11.277405 42.519608 -22.091568 38.039017 -30.065292 30.065292 c +-38.039017 22.091568 -42.519608 11.277405 -42.519608 0.000000 c +-42.519608 -11.277405 -38.039017 -22.091568 -30.065292 -30.065292 c +-22.091568 -38.039017 -11.277405 -42.519608 0.000000 -42.519608 c +11.277405 -42.519608 22.091568 -38.039017 30.065292 -30.065292 c +38.039017 -22.091568 42.519608 -11.277405 42.519608 0.000000 c +h S +0.500000 w +43.936935 0.000000 m +43.936935 11.653320 39.306976 22.827942 31.067459 31.067459 c +22.827942 39.306976 11.653320 43.936935 0.000000 43.936935 c +-11.653320 43.936935 -22.827942 39.306976 -31.067459 31.067459 c +-39.306976 22.827942 -43.936935 11.653320 -43.936935 0.000000 c +-43.936935 -11.653320 -39.306976 -22.827942 -31.067459 -31.067459 c +-22.827942 -39.306976 -11.653320 -43.936935 0.000000 -43.936935 c +11.653320 -43.936935 22.827942 -39.306976 31.067459 -31.067459 c +39.306976 -22.827942 43.936935 -11.653320 43.936935 0.000000 c +h S +0.500000 w +45.354248 0.000000 m +45.354248 12.029236 40.574951 23.564331 32.069641 32.069641 c +23.564331 40.574951 12.029236 45.354248 0.000000 45.354248 c +-12.029236 45.354248 -23.564331 40.574951 -32.069641 32.069641 c +-40.574951 23.564331 -45.354248 12.029236 -45.354248 0.000000 c +-45.354248 -12.029236 -40.574951 -23.564331 -32.069641 -32.069641 c +-23.564331 -40.574951 -12.029236 -45.354248 0.000000 -45.354248 c +12.029236 -45.354248 23.564331 -40.574951 32.069641 -32.069641 c +40.574951 -23.564331 45.354248 -12.029236 45.354248 0.000000 c +h S +0.500000 w +46.771576 0.000000 m +46.771576 12.405136 41.842911 24.300720 33.071808 33.071808 c +24.300720 41.842911 12.405136 46.771576 0.000000 46.771576 c +-12.405136 46.771576 -24.300720 41.842911 -33.071808 33.071808 c +-41.842911 24.300720 -46.771576 12.405136 -46.771576 0.000000 c +-46.771576 -12.405136 -41.842911 -24.300720 -33.071808 -33.071808 c +-24.300720 -41.842911 -12.405136 -46.771576 0.000000 -46.771576 c +12.405136 -46.771576 24.300720 -41.842911 33.071808 -33.071808 c +41.842911 -24.300720 46.771576 -12.405136 46.771576 0.000000 c +h S +0.500000 w +48.188889 0.000000 m +48.188889 12.781052 43.110886 25.037109 34.073990 34.073990 c +25.037109 43.110886 12.781052 48.188889 0.000000 48.188889 c +-12.781052 48.188889 -25.037109 43.110886 -34.073990 34.073990 c +-43.110886 25.037109 -48.188889 12.781052 -48.188889 0.000000 c +-48.188889 -12.781052 -43.110886 -25.037109 -34.073990 -34.073990 c +-25.037109 -43.110886 -12.781052 -48.188889 0.000000 -48.188889 c +12.781052 -48.188889 25.037109 -43.110886 34.073990 -34.073990 c +43.110886 -25.037109 48.188889 -12.781052 48.188889 0.000000 c +h S +0.500000 w +49.606216 0.000000 m +49.606216 13.156967 44.378845 25.773483 35.076172 35.076172 c +25.773483 44.378845 13.156967 49.606216 0.000000 49.606216 c +-13.156967 49.606216 -25.773483 44.378845 -35.076172 35.076172 c +-44.378845 25.773483 -49.606216 13.156967 -49.606216 0.000000 c +-49.606216 -13.156967 -44.378845 -25.773483 -35.076172 -35.076172 c +-25.773483 -44.378845 -13.156967 -49.606216 0.000000 -49.606216 c +13.156967 -49.606216 25.773483 -44.378845 35.076172 -35.076172 c +44.378845 -25.773483 49.606216 -13.156967 49.606216 0.000000 c +h S +0.500000 w +51.023529 0.000000 m +51.023529 13.532883 45.646820 26.509872 36.078339 36.078339 c +26.509872 45.646820 13.532883 51.023529 0.000000 51.023529 c +-13.532883 51.023529 -26.509872 45.646820 -36.078339 36.078339 c +-45.646820 26.509872 -51.023529 13.532883 -51.023529 0.000000 c +-51.023529 -13.532883 -45.646820 -26.509872 -36.078339 -36.078339 c +-26.509872 -45.646820 -13.532883 -51.023529 0.000000 -51.023529 c +13.532883 -51.023529 26.509872 -45.646820 36.078339 -36.078339 c +45.646820 -26.509872 51.023529 -13.532883 51.023529 0.000000 c +h S +0.500000 w +52.440857 0.000000 m +52.440857 13.908798 46.914780 27.246262 37.080521 37.080521 c +27.246262 46.914780 13.908798 52.440857 0.000000 52.440857 c +-13.908798 52.440857 -27.246262 46.914780 -37.080521 37.080521 c +-46.914780 27.246262 -52.440857 13.908798 -52.440857 0.000000 c +-52.440857 -13.908798 -46.914780 -27.246262 -37.080521 -37.080521 c +-27.246262 -46.914780 -13.908798 -52.440857 0.000000 -52.440857 c +13.908798 -52.440857 27.246262 -46.914780 37.080521 -37.080521 c +46.914780 -27.246262 52.440857 -13.908798 52.440857 0.000000 c +h S +0.500000 w +53.858170 0.000000 m +53.858170 14.284714 48.182739 27.982651 38.082703 38.082703 c +27.982651 48.182739 14.284714 53.858170 0.000000 53.858170 c +-14.284714 53.858170 -27.982651 48.182739 -38.082703 38.082703 c +-48.182739 27.982651 -53.858170 14.284714 -53.858170 0.000000 c +-53.858170 -14.284714 -48.182739 -27.982651 -38.082703 -38.082703 c +-27.982651 -48.182739 -14.284714 -53.858170 0.000000 -53.858170 c +14.284714 -53.858170 27.982651 -48.182739 38.082703 -38.082703 c +48.182739 -27.982651 53.858170 -14.284714 53.858170 0.000000 c +h S +0.500000 w +55.275497 0.000000 m +55.275497 14.660629 49.450714 28.719025 39.084869 39.084869 c +28.719025 49.450714 14.660629 55.275497 0.000000 55.275497 c +-14.660629 55.275497 -28.719025 49.450714 -39.084869 39.084869 c +-49.450714 28.719025 -55.275497 14.660629 -55.275497 0.000000 c +-55.275497 -14.660629 -49.450714 -28.719025 -39.084869 -39.084869 c +-28.719025 -49.450714 -14.660629 -55.275497 0.000000 -55.275497 c +14.660629 -55.275497 28.719025 -49.450714 39.084869 -39.084869 c +49.450714 -28.719025 55.275497 -14.660629 55.275497 0.000000 c +h S +0.500000 w +56.692810 0.000000 m +56.692810 15.036530 50.718674 29.455414 40.087051 40.087051 c +29.455414 50.718674 15.036530 56.692810 0.000000 56.692810 c +-15.036530 56.692810 -29.455414 50.718674 -40.087051 40.087051 c +-50.718674 29.455414 -56.692810 15.036530 -56.692810 0.000000 c +-56.692810 -15.036530 -50.718674 -29.455414 -40.087051 -40.087051 c +-29.455414 -50.718674 -15.036530 -56.692810 0.000000 -56.692810 c +15.036530 -56.692810 29.455414 -50.718674 40.087051 -40.087051 c +50.718674 -29.455414 56.692810 -15.036530 56.692810 0.000000 c +h S +0.500000 w +58.110138 0.000000 m +58.110138 15.412445 51.986649 30.191803 41.089218 41.089218 c +30.191803 51.986649 15.412445 58.110138 0.000000 58.110138 c +-15.412445 58.110138 -30.191803 51.986649 -41.089218 41.089218 c +-51.986649 30.191803 -58.110138 15.412445 -58.110138 0.000000 c +-58.110138 -15.412445 -51.986649 -30.191803 -41.089218 -41.089218 c +-30.191803 -51.986649 -15.412445 -58.110138 0.000000 -58.110138 c +15.412445 -58.110138 30.191803 -51.986649 41.089218 -41.089218 c +51.986649 -30.191803 58.110138 -15.412445 58.110138 0.000000 c +h S +0.500000 w +59.527451 0.000000 m +59.527451 15.788361 53.254608 30.928192 42.091400 42.091400 c +30.928192 53.254608 15.788361 59.527451 0.000000 59.527451 c +-15.788361 59.527451 -30.928192 53.254608 -42.091400 42.091400 c +-53.254608 30.928192 -59.527451 15.788361 -59.527451 0.000000 c +-59.527451 -15.788361 -53.254608 -30.928192 -42.091400 -42.091400 c +-30.928192 -53.254608 -15.788361 -59.527451 0.000000 -59.527451 c +15.788361 -59.527451 30.928192 -53.254608 42.091400 -42.091400 c +53.254608 -30.928192 59.527451 -15.788361 59.527451 0.000000 c +h S +0.500000 w +60.944778 0.000000 m +60.944778 16.164276 54.522583 31.664566 43.093582 43.093582 c +31.664566 54.522583 16.164276 60.944778 0.000000 60.944778 c +-16.164276 60.944778 -31.664566 54.522583 -43.093582 43.093582 c +-54.522583 31.664566 -60.944778 16.164276 -60.944778 0.000000 c +-60.944778 -16.164276 -54.522583 -31.664566 -43.093582 -43.093582 c +-31.664566 -54.522583 -16.164276 -60.944778 0.000000 -60.944778 c +16.164276 -60.944778 31.664566 -54.522583 43.093582 -43.093582 c +54.522583 -31.664566 60.944778 -16.164276 60.944778 0.000000 c +h S +0.500000 w +62.362091 0.000000 m +62.362091 16.540192 55.790543 32.400955 44.095749 44.095749 c +32.400955 55.790543 16.540192 62.362091 0.000000 62.362091 c +-16.540192 62.362091 -32.400955 55.790543 -44.095749 44.095749 c +-55.790543 32.400955 -62.362091 16.540192 -62.362091 0.000000 c +-62.362091 -16.540192 -55.790543 -32.400955 -44.095749 -44.095749 c +-32.400955 -55.790543 -16.540192 -62.362091 0.000000 -62.362091 c +16.540192 -62.362091 32.400955 -55.790543 44.095749 -44.095749 c +55.790543 -32.400955 62.362091 -16.540192 62.362091 0.000000 c +h S +0.500000 w +63.779419 0.000000 m +63.779419 16.916107 57.058517 33.137344 45.097931 45.097931 c +33.137344 57.058517 16.916107 63.779419 0.000000 63.779419 c +-16.916107 63.779419 -33.137344 57.058517 -45.097931 45.097931 c +-57.058517 33.137344 -63.779419 16.916107 -63.779419 0.000000 c +-63.779419 -16.916107 -57.058517 -33.137344 -45.097931 -45.097931 c +-33.137344 -57.058517 -16.916107 -63.779419 0.000000 -63.779419 c +16.916107 -63.779419 33.137344 -57.058517 45.097931 -45.097931 c +57.058517 -33.137344 63.779419 -16.916107 63.779419 0.000000 c +h S +0.500000 w +65.196732 0.000000 m +65.196732 17.292023 58.326477 33.873734 46.100113 46.100113 c +33.873734 58.326477 17.292023 65.196732 0.000000 65.196732 c +-17.292023 65.196732 -33.873734 58.326477 -46.100113 46.100113 c +-58.326477 33.873734 -65.196732 17.292023 -65.196732 0.000000 c +-65.196732 -17.292023 -58.326477 -33.873734 -46.100113 -46.100113 c +-33.873734 -58.326477 -17.292023 -65.196732 0.000000 -65.196732 c +17.292023 -65.196732 33.873734 -58.326477 46.100113 -46.100113 c +58.326477 -33.873734 65.196732 -17.292023 65.196732 0.000000 c +h S +0.500000 w +66.614059 0.000000 m +66.614059 17.667923 59.594452 34.610107 47.102280 47.102280 c +34.610107 59.594452 17.667923 66.614059 0.000000 66.614059 c +-17.667923 66.614059 -34.610107 59.594452 -47.102280 47.102280 c +-59.594452 34.610107 -66.614059 17.667923 -66.614059 0.000000 c +-66.614059 -17.667923 -59.594452 -34.610107 -47.102280 -47.102280 c +-34.610107 -59.594452 -17.667923 -66.614059 0.000000 -66.614059 c +17.667923 -66.614059 34.610107 -59.594452 47.102280 -47.102280 c +59.594452 -34.610107 66.614059 -17.667923 66.614059 0.000000 c +h S +0.500000 w +68.031372 0.000000 m +68.031372 18.043839 60.862411 35.346497 48.104462 48.104462 c +35.346497 60.862411 18.043839 68.031372 0.000000 68.031372 c +-18.043839 68.031372 -35.346497 60.862411 -48.104462 48.104462 c +-60.862411 35.346497 -68.031372 18.043839 -68.031372 0.000000 c +-68.031372 -18.043839 -60.862411 -35.346497 -48.104462 -48.104462 c +-35.346497 -60.862411 -18.043839 -68.031372 0.000000 -68.031372 c +18.043839 -68.031372 35.346497 -60.862411 48.104462 -48.104462 c +60.862411 -35.346497 68.031372 -18.043839 68.031372 0.000000 c +h S +0.500000 w +69.448700 0.000000 m +69.448700 18.419754 62.130386 36.082886 49.106628 49.106628 c +36.082886 62.130386 18.419754 69.448700 0.000000 69.448700 c +-18.419754 69.448700 -36.082886 62.130386 -49.106628 49.106628 c +-62.130386 36.082886 -69.448700 18.419754 -69.448700 0.000000 c +-69.448700 -18.419754 -62.130386 -36.082886 -49.106628 -49.106628 c +-36.082886 -62.130386 -18.419754 -69.448700 0.000000 -69.448700 c +18.419754 -69.448700 36.082886 -62.130386 49.106628 -49.106628 c +62.130386 -36.082886 69.448700 -18.419754 69.448700 0.000000 c +h S +0.500000 w +70.866013 0.000000 m +70.866013 18.795670 63.398346 36.819275 50.108810 50.108810 c +36.819275 63.398346 18.795670 70.866013 0.000000 70.866013 c +-18.795670 70.866013 -36.819275 63.398346 -50.108810 50.108810 c +-63.398346 36.819275 -70.866013 18.795670 -70.866013 0.000000 c +-70.866013 -18.795670 -63.398346 -36.819275 -50.108810 -50.108810 c +-36.819275 -63.398346 -18.795670 -70.866013 0.000000 -70.866013 c +18.795670 -70.866013 36.819275 -63.398346 50.108810 -50.108810 c +63.398346 -36.819275 70.866013 -18.795670 70.866013 0.000000 c +h S +0.500000 w +72.283340 0.000000 m +72.283340 19.171585 64.666321 37.555649 51.110992 51.110992 c +37.555649 64.666321 19.171585 72.283340 0.000000 72.283340 c +-19.171585 72.283340 -37.555649 64.666321 -51.110992 51.110992 c +-64.666321 37.555649 -72.283340 19.171585 -72.283340 0.000000 c +-72.283340 -19.171585 -64.666321 -37.555649 -51.110992 -51.110992 c +-37.555649 -64.666321 -19.171585 -72.283340 0.000000 -72.283340 c +19.171585 -72.283340 37.555649 -64.666321 51.110992 -51.110992 c +64.666321 -37.555649 72.283340 -19.171585 72.283340 0.000000 c +h S +0.500000 w +73.700653 0.000000 m +73.700653 19.547501 65.934280 38.292038 52.113159 52.113159 c +38.292038 65.934280 19.547501 73.700653 0.000000 73.700653 c +-19.547501 73.700653 -38.292038 65.934280 -52.113159 52.113159 c +-65.934280 38.292038 -73.700653 19.547501 -73.700653 0.000000 c +-73.700653 -19.547501 -65.934280 -38.292038 -52.113159 -52.113159 c +-38.292038 -65.934280 -19.547501 -73.700653 0.000000 -73.700653 c +19.547501 -73.700653 38.292038 -65.934280 52.113159 -52.113159 c +65.934280 -38.292038 73.700653 -19.547501 73.700653 0.000000 c +h S +0.500000 w +75.117981 0.000000 m +75.117981 19.923416 67.202255 39.028427 53.115341 53.115341 c +39.028427 67.202255 19.923416 75.117981 0.000000 75.117981 c +-19.923416 75.117981 -39.028427 67.202255 -53.115341 53.115341 c +-67.202255 39.028427 -75.117981 19.923416 -75.117981 0.000000 c +-75.117981 -19.923416 -67.202255 -39.028427 -53.115341 -53.115341 c +-39.028427 -67.202255 -19.923416 -75.117981 0.000000 -75.117981 c +19.923416 -75.117981 39.028427 -67.202255 53.115341 -53.115341 c +67.202255 -39.028427 75.117981 -19.923416 75.117981 0.000000 c +h S +0.500000 w +76.535294 0.000000 m +76.535294 20.299316 68.470215 39.764816 54.117523 54.117523 c +39.764816 68.470215 20.299316 76.535294 0.000000 76.535294 c +-20.299316 76.535294 -39.764816 68.470215 -54.117523 54.117523 c +-68.470215 39.764816 -76.535294 20.299316 -76.535294 0.000000 c +-76.535294 -20.299316 -68.470215 -39.764816 -54.117523 -54.117523 c +-39.764816 -68.470215 -20.299316 -76.535294 0.000000 -76.535294 c +20.299316 -76.535294 39.764816 -68.470215 54.117523 -54.117523 c +68.470215 -39.764816 76.535294 -20.299316 76.535294 0.000000 c +h S +0.500000 w +77.952621 0.000000 m +77.952621 20.675232 69.738190 40.501205 55.119690 55.119690 c +40.501205 69.738190 20.675232 77.952621 0.000000 77.952621 c +-20.675232 77.952621 -40.501205 69.738190 -55.119690 55.119690 c +-69.738190 40.501205 -77.952621 20.675232 -77.952621 0.000000 c +-77.952621 -20.675232 -69.738190 -40.501205 -55.119690 -55.119690 c +-40.501205 -69.738190 -20.675232 -77.952621 0.000000 -77.952621 c +20.675232 -77.952621 40.501205 -69.738190 55.119690 -55.119690 c +69.738190 -40.501205 77.952621 -20.675232 77.952621 0.000000 c +h S +0.500000 w +79.369934 0.000000 m +79.369934 21.051147 71.006149 41.237579 56.121872 56.121872 c +41.237579 71.006149 21.051147 79.369934 0.000000 79.369934 c +-21.051147 79.369934 -41.237579 71.006149 -56.121872 56.121872 c +-71.006149 41.237579 -79.369934 21.051147 -79.369934 0.000000 c +-79.369934 -21.051147 -71.006149 -41.237579 -56.121872 -56.121872 c +-41.237579 -71.006149 -21.051147 -79.369934 0.000000 -79.369934 c +21.051147 -79.369934 41.237579 -71.006149 56.121872 -56.121872 c +71.006149 -41.237579 79.369934 -21.051147 79.369934 0.000000 c +h S +0.500000 w +80.787262 0.000000 m +80.787262 21.427063 72.274124 41.973969 57.124039 57.124039 c +41.973969 72.274124 21.427063 80.787262 0.000000 80.787262 c +-21.427063 80.787262 -41.973969 72.274124 -57.124039 57.124039 c +-72.274124 41.973969 -80.787262 21.427063 -80.787262 0.000000 c +-80.787262 -21.427063 -72.274124 -41.973969 -57.124039 -57.124039 c +-41.973969 -72.274124 -21.427063 -80.787262 0.000000 -80.787262 c +21.427063 -80.787262 41.973969 -72.274124 57.124039 -57.124039 c +72.274124 -41.973969 80.787262 -21.427063 80.787262 0.000000 c +h S +0.500000 w +82.204575 0.000000 m +82.204575 21.802979 73.542084 42.710358 58.126221 58.126221 c +42.710358 73.542084 21.802979 82.204575 0.000000 82.204575 c +-21.802979 82.204575 -42.710358 73.542084 -58.126221 58.126221 c +-73.542084 42.710358 -82.204575 21.802979 -82.204575 0.000000 c +-82.204575 -21.802979 -73.542084 -42.710358 -58.126221 -58.126221 c +-42.710358 -73.542084 -21.802979 -82.204575 0.000000 -82.204575 c +21.802979 -82.204575 42.710358 -73.542084 58.126221 -58.126221 c +73.542084 -42.710358 82.204575 -21.802979 82.204575 0.000000 c +h S +0.500000 w +83.621902 0.000000 m +83.621902 22.178894 74.810059 43.446747 59.128403 59.128403 c +43.446747 74.810059 22.178894 83.621902 0.000000 83.621902 c +-22.178894 83.621902 -43.446747 74.810059 -59.128403 59.128403 c +-74.810059 43.446747 -83.621902 22.178894 -83.621902 0.000000 c +-83.621902 -22.178894 -74.810059 -43.446747 -59.128403 -59.128403 c +-43.446747 -74.810059 -22.178894 -83.621902 0.000000 -83.621902 c +22.178894 -83.621902 43.446747 -74.810059 59.128403 -59.128403 c +74.810059 -43.446747 83.621902 -22.178894 83.621902 0.000000 c +h S +0.500000 w +85.039215 0.000000 m +85.039215 22.554810 76.078018 44.183121 60.130569 60.130569 c +44.183121 76.078018 22.554810 85.039215 0.000000 85.039215 c +-22.554810 85.039215 -44.183121 76.078018 -60.130569 60.130569 c +-76.078018 44.183121 -85.039215 22.554810 -85.039215 0.000000 c +-85.039215 -22.554810 -76.078018 -44.183121 -60.130569 -60.130569 c +-44.183121 -76.078018 -22.554810 -85.039215 0.000000 -85.039215 c +22.554810 -85.039215 44.183121 -76.078018 60.130569 -60.130569 c +76.078018 -44.183121 85.039215 -22.554810 85.039215 0.000000 c +h S +0.500000 w +86.456543 0.000000 m +86.456543 22.930710 77.345993 44.919510 61.132751 61.132751 c +44.919510 77.345993 22.930710 86.456543 0.000000 86.456543 c +-22.930710 86.456543 -44.919510 77.345993 -61.132751 61.132751 c +-77.345993 44.919510 -86.456543 22.930710 -86.456543 0.000000 c +-86.456543 -22.930710 -77.345993 -44.919510 -61.132751 -61.132751 c +-44.919510 -77.345993 -22.930710 -86.456543 0.000000 -86.456543 c +22.930710 -86.456543 44.919510 -77.345993 61.132751 -61.132751 c +77.345993 -44.919510 86.456543 -22.930710 86.456543 0.000000 c +h S +0.500000 w +87.873856 0.000000 m +87.873856 23.306625 78.613953 45.655899 62.134918 62.134918 c +45.655899 78.613953 23.306625 87.873856 0.000000 87.873856 c +-23.306625 87.873856 -45.655899 78.613953 -62.134918 62.134918 c +-78.613953 45.655899 -87.873856 23.306625 -87.873856 0.000000 c +-87.873856 -23.306625 -78.613953 -45.655899 -62.134918 -62.134918 c +-45.655899 -78.613953 -23.306625 -87.873856 0.000000 -87.873856 c +23.306625 -87.873856 45.655899 -78.613953 62.134918 -62.134918 c +78.613953 -45.655899 87.873856 -23.306625 87.873856 0.000000 c +h S +0.500000 w +89.291183 0.000000 m +89.291183 23.682541 79.881927 46.392288 63.137100 63.137100 c +46.392288 79.881927 23.682541 89.291183 0.000000 89.291183 c +-23.682541 89.291183 -46.392288 79.881927 -63.137100 63.137100 c +-79.881927 46.392288 -89.291183 23.682541 -89.291183 0.000000 c +-89.291183 -23.682541 -79.881927 -46.392288 -63.137100 -63.137100 c +-46.392288 -79.881927 -23.682541 -89.291183 0.000000 -89.291183 c +23.682541 -89.291183 46.392288 -79.881927 63.137100 -63.137100 c +79.881927 -46.392288 89.291183 -23.682541 89.291183 0.000000 c +h S +0.500000 w +90.708496 0.000000 m +90.708496 24.058456 81.149887 47.128662 64.139282 64.139282 c +47.128662 81.149887 24.058456 90.708496 0.000000 90.708496 c +-24.058456 90.708496 -47.128662 81.149887 -64.139282 64.139282 c +-81.149887 47.128662 -90.708496 24.058456 -90.708496 0.000000 c +-90.708496 -24.058456 -81.149887 -47.128662 -64.139282 -64.139282 c +-47.128662 -81.149887 -24.058456 -90.708496 0.000000 -90.708496 c +24.058456 -90.708496 47.128662 -81.149887 64.139282 -64.139282 c +81.149887 -47.128662 90.708496 -24.058456 90.708496 0.000000 c +h S +0.500000 w +92.125824 0.000000 m +92.125824 24.434372 82.417862 47.865051 65.141449 65.141449 c +47.865051 82.417862 24.434372 92.125824 0.000000 92.125824 c +-24.434372 92.125824 -47.865051 82.417862 -65.141449 65.141449 c +-82.417862 47.865051 -92.125824 24.434372 -92.125824 0.000000 c +-92.125824 -24.434372 -82.417862 -47.865051 -65.141449 -65.141449 c +-47.865051 -82.417862 -24.434372 -92.125824 0.000000 -92.125824 c +24.434372 -92.125824 47.865051 -82.417862 65.141449 -65.141449 c +82.417862 -47.865051 92.125824 -24.434372 92.125824 0.000000 c +h S +0.500000 w +93.543137 0.000000 m +93.543137 24.810287 83.685822 48.601440 66.143631 66.143631 c +48.601440 83.685822 24.810287 93.543137 0.000000 93.543137 c +-24.810287 93.543137 -48.601440 83.685822 -66.143631 66.143631 c +-83.685822 48.601440 -93.543137 24.810287 -93.543137 0.000000 c +-93.543137 -24.810287 -83.685822 -48.601440 -66.143631 -66.143631 c +-48.601440 -83.685822 -24.810287 -93.543137 0.000000 -93.543137 c +24.810287 -93.543137 48.601440 -83.685822 66.143631 -66.143631 c +83.685822 -48.601440 93.543137 -24.810287 93.543137 0.000000 c +h S +0.500000 w +94.960464 0.000000 m +94.960464 25.186203 84.953796 49.337830 67.145813 67.145813 c +49.337830 84.953796 25.186203 94.960464 0.000000 94.960464 c +-25.186203 94.960464 -49.337830 84.953796 -67.145813 67.145813 c +-84.953796 49.337830 -94.960464 25.186203 -94.960464 0.000000 c +-94.960464 -25.186203 -84.953796 -49.337830 -67.145813 -67.145813 c +-49.337830 -84.953796 -25.186203 -94.960464 0.000000 -94.960464 c +25.186203 -94.960464 49.337830 -84.953796 67.145813 -67.145813 c +84.953796 -49.337830 94.960464 -25.186203 94.960464 0.000000 c +h S +0.500000 w +96.377777 0.000000 m +96.377777 25.562119 86.221756 50.074203 68.147980 68.147980 c +50.074203 86.221756 25.562119 96.377777 0.000000 96.377777 c +-25.562119 96.377777 -50.074203 86.221756 -68.147980 68.147980 c +-86.221756 50.074203 -96.377777 25.562119 -96.377777 0.000000 c +-96.377777 -25.562119 -86.221756 -50.074203 -68.147980 -68.147980 c +-50.074203 -86.221756 -25.562119 -96.377777 0.000000 -96.377777 c +25.562119 -96.377777 50.074203 -86.221756 68.147980 -68.147980 c +86.221756 -50.074203 96.377777 -25.562119 96.377777 0.000000 c +h S +0.500000 w +97.795105 0.000000 m +97.795105 25.938019 87.489731 50.810593 69.150162 69.150162 c +50.810593 87.489731 25.938019 97.795105 0.000000 97.795105 c +-25.938019 97.795105 -50.810593 87.489731 -69.150162 69.150162 c +-87.489731 50.810593 -97.795105 25.938019 -97.795105 0.000000 c +-97.795105 -25.938019 -87.489731 -50.810593 -69.150162 -69.150162 c +-50.810593 -87.489731 -25.938019 -97.795105 0.000000 -97.795105 c +25.938019 -97.795105 50.810593 -87.489731 69.150162 -69.150162 c +87.489731 -50.810593 97.795105 -25.938019 97.795105 0.000000 c +h S +0.500000 w +99.212418 0.000000 m +99.212418 26.313934 88.757690 51.546982 70.152328 70.152328 c +51.546982 88.757690 26.313934 99.212418 0.000000 99.212418 c +-26.313934 99.212418 -51.546982 88.757690 -70.152328 70.152328 c +-88.757690 51.546982 -99.212418 26.313934 -99.212418 0.000000 c +-99.212418 -26.313934 -88.757690 -51.546982 -70.152328 -70.152328 c +-51.546982 -88.757690 -26.313934 -99.212418 0.000000 -99.212418 c +26.313934 -99.212418 51.546982 -88.757690 70.152328 -70.152328 c +88.757690 -51.546982 99.212418 -26.313934 99.212418 0.000000 c +h S +0.500000 w +100.629745 0.000000 m +100.629745 26.689850 90.025665 52.283371 71.154510 71.154510 c +52.283371 90.025665 26.689850 100.629745 0.000000 100.629745 c +-26.689850 100.629745 -52.283371 90.025665 -71.154510 71.154510 c +-90.025665 52.283371 -100.629745 26.689850 -100.629745 0.000000 c +-100.629745 -26.689850 -90.025665 -52.283371 -71.154510 -71.154510 c +-52.283371 -90.025665 -26.689850 -100.629745 0.000000 -100.629745 c +26.689850 -100.629745 52.283371 -90.025665 71.154510 -71.154510 c +90.025665 -52.283371 100.629745 -26.689850 100.629745 0.000000 c +h S +0.500000 w +102.047058 0.000000 m +102.047058 27.065765 91.293625 53.019745 72.156693 72.156693 c +53.019745 91.293625 27.065765 102.047058 0.000000 102.047058 c +-27.065765 102.047058 -53.019745 91.293625 -72.156693 72.156693 c +-91.293625 53.019745 -102.047058 27.065765 -102.047058 0.000000 c +-102.047058 -27.065765 -91.293625 -53.019745 -72.156693 -72.156693 c +-53.019745 -91.293625 -27.065765 -102.047058 0.000000 -102.047058 c +27.065765 -102.047058 53.019745 -91.293625 72.156693 -72.156693 c +91.293625 -53.019745 102.047058 -27.065765 102.047058 0.000000 c +h S +0.500000 w +103.464386 0.000000 m +103.464386 27.441681 92.561600 53.756134 73.158859 73.158859 c +53.756134 92.561600 27.441681 103.464386 0.000000 103.464386 c +-27.441681 103.464386 -53.756134 92.561600 -73.158859 73.158859 c +-92.561600 53.756134 -103.464386 27.441681 -103.464386 0.000000 c +-103.464386 -27.441681 -92.561600 -53.756134 -73.158859 -73.158859 c +-53.756134 -92.561600 -27.441681 -103.464386 0.000000 -103.464386 c +27.441681 -103.464386 53.756134 -92.561600 73.158859 -73.158859 c +92.561600 -53.756134 103.464386 -27.441681 103.464386 0.000000 c +h S +0.500000 w +104.881699 0.000000 m +104.881699 27.817596 93.829559 54.492523 74.161041 74.161041 c +54.492523 93.829559 27.817596 104.881699 0.000000 104.881699 c +-27.817596 104.881699 -54.492523 93.829559 -74.161041 74.161041 c +-93.829559 54.492523 -104.881699 27.817596 -104.881699 0.000000 c +-104.881699 -27.817596 -93.829559 -54.492523 -74.161041 -74.161041 c +-54.492523 -93.829559 -27.817596 -104.881699 0.000000 -104.881699 c +27.817596 -104.881699 54.492523 -93.829559 74.161041 -74.161041 c +93.829559 -54.492523 104.881699 -27.817596 104.881699 0.000000 c +h S +0.500000 w +106.299026 0.000000 m +106.299026 28.193512 95.097519 55.228912 75.163223 75.163223 c +55.228912 95.097519 28.193512 106.299026 0.000000 106.299026 c +-28.193512 106.299026 -55.228912 95.097519 -75.163223 75.163223 c +-95.097519 55.228912 -106.299026 28.193512 -106.299026 0.000000 c +-106.299026 -28.193512 -95.097519 -55.228912 -75.163223 -75.163223 c +-55.228912 -95.097519 -28.193512 -106.299026 0.000000 -106.299026 c +28.193512 -106.299026 55.228912 -95.097519 75.163223 -75.163223 c +95.097519 -55.228912 106.299026 -28.193512 106.299026 0.000000 c +h S +0.500000 w +107.716339 0.000000 m +107.716339 28.569412 96.365494 55.965286 76.165390 76.165390 c +55.965286 96.365494 28.569412 107.716339 0.000000 107.716339 c +-28.569412 107.716339 -55.965286 96.365494 -76.165390 76.165390 c +-96.365494 55.965286 -107.716339 28.569412 -107.716339 0.000000 c +-107.716339 -28.569412 -96.365494 -55.965286 -76.165390 -76.165390 c +-55.965286 -96.365494 -28.569412 -107.716339 0.000000 -107.716339 c +28.569412 -107.716339 55.965286 -96.365494 76.165390 -76.165390 c +96.365494 -55.965286 107.716339 -28.569412 107.716339 0.000000 c +h S +0.500000 w +109.133667 0.000000 m +109.133667 28.945328 97.633453 56.701675 77.167572 77.167572 c +56.701675 97.633453 28.945328 109.133667 0.000000 109.133667 c +-28.945328 109.133667 -56.701675 97.633453 -77.167572 77.167572 c +-97.633453 56.701675 -109.133667 28.945328 -109.133667 0.000000 c +-109.133667 -28.945328 -97.633453 -56.701675 -77.167572 -77.167572 c +-56.701675 -97.633453 -28.945328 -109.133667 0.000000 -109.133667 c +28.945328 -109.133667 56.701675 -97.633453 77.167572 -77.167572 c +97.633453 -56.701675 109.133667 -28.945328 109.133667 0.000000 c +h S +0.500000 w +110.550980 0.000000 m +110.550980 29.321243 98.901428 57.438065 78.169739 78.169739 c +57.438065 98.901428 29.321243 110.550980 0.000000 110.550980 c +-29.321243 110.550980 -57.438065 98.901428 -78.169739 78.169739 c +-98.901428 57.438065 -110.550980 29.321243 -110.550980 0.000000 c +-110.550980 -29.321243 -98.901428 -57.438065 -78.169739 -78.169739 c +-57.438065 -98.901428 -29.321243 -110.550980 0.000000 -110.550980 c +29.321243 -110.550980 57.438065 -98.901428 78.169739 -78.169739 c +98.901428 -57.438065 110.550980 -29.321243 110.550980 0.000000 c +h S +0.500000 w +111.968307 0.000000 m +111.968307 29.697159 100.169388 58.174454 79.171921 79.171921 c +58.174454 100.169388 29.697159 111.968307 0.000000 111.968307 c +-29.697159 111.968307 -58.174454 100.169388 -79.171921 79.171921 c +-100.169388 58.174454 -111.968307 29.697159 -111.968307 0.000000 c +-111.968307 -29.697159 -100.169388 -58.174454 -79.171921 -79.171921 c +-58.174454 -100.169388 -29.697159 -111.968307 0.000000 -111.968307 c +29.697159 -111.968307 58.174454 -100.169388 79.171921 -79.171921 c +100.169388 -58.174454 111.968307 -29.697159 111.968307 0.000000 c +h S +0.500000 w +113.385620 0.000000 m +113.385620 30.073074 101.437363 58.910828 80.174103 80.174103 c +58.910828 101.437363 30.073074 113.385620 0.000000 113.385620 c +-30.073074 113.385620 -58.910828 101.437363 -80.174103 80.174103 c +-101.437363 58.910828 -113.385620 30.073074 -113.385620 0.000000 c +-113.385620 -30.073074 -101.437363 -58.910828 -80.174103 -80.174103 c +-58.910828 -101.437363 -30.073074 -113.385620 0.000000 -113.385620 c +30.073074 -113.385620 58.910828 -101.437363 80.174103 -80.174103 c +101.437363 -58.910828 113.385620 -30.073074 113.385620 0.000000 c +h S +0.500000 w +114.802948 0.000000 m +114.802948 30.448990 102.705322 59.647217 81.176270 81.176270 c +59.647217 102.705322 30.448990 114.802948 0.000000 114.802948 c +-30.448990 114.802948 -59.647217 102.705322 -81.176270 81.176270 c +-102.705322 59.647217 -114.802948 30.448990 -114.802948 0.000000 c +-114.802948 -30.448990 -102.705322 -59.647217 -81.176270 -81.176270 c +-59.647217 -102.705322 -30.448990 -114.802948 0.000000 -114.802948 c +30.448990 -114.802948 59.647217 -102.705322 81.176270 -81.176270 c +102.705322 -59.647217 114.802948 -30.448990 114.802948 0.000000 c +h S +0.500000 w +116.220261 0.000000 m +116.220261 30.824905 103.973297 60.383606 82.178452 82.178452 c +60.383606 103.973297 30.824905 116.220261 0.000000 116.220261 c +-30.824905 116.220261 -60.383606 103.973297 -82.178452 82.178452 c +-103.973297 60.383606 -116.220261 30.824905 -116.220261 0.000000 c +-116.220261 -30.824905 -103.973297 -60.383606 -82.178452 -82.178452 c +-60.383606 -103.973297 -30.824905 -116.220261 0.000000 -116.220261 c +30.824905 -116.220261 60.383606 -103.973297 82.178452 -82.178452 c +103.973297 -60.383606 116.220261 -30.824905 116.220261 0.000000 c +h S +0.500000 w +117.637589 0.000000 m +117.637589 31.200806 105.241257 61.119995 83.180618 83.180618 c +61.119995 105.241257 31.200806 117.637589 0.000000 117.637589 c +-31.200806 117.637589 -61.119995 105.241257 -83.180618 83.180618 c +-105.241257 61.119995 -117.637589 31.200806 -117.637589 0.000000 c +-117.637589 -31.200806 -105.241257 -61.119995 -83.180618 -83.180618 c +-61.119995 -105.241257 -31.200806 -117.637589 0.000000 -117.637589 c +31.200806 -117.637589 61.119995 -105.241257 83.180618 -83.180618 c +105.241257 -61.119995 117.637589 -31.200806 117.637589 0.000000 c +h S +0.500000 w +119.054901 0.000000 m +119.054901 31.576721 106.509232 61.856369 84.182800 84.182800 c +61.856369 106.509232 31.576721 119.054901 0.000000 119.054901 c +-31.576721 119.054901 -61.856369 106.509232 -84.182800 84.182800 c +-106.509232 61.856369 -119.054901 31.576721 -119.054901 0.000000 c +-119.054901 -31.576721 -106.509232 -61.856369 -84.182800 -84.182800 c +-61.856369 -106.509232 -31.576721 -119.054901 0.000000 -119.054901 c +31.576721 -119.054901 61.856369 -106.509232 84.182800 -84.182800 c +106.509232 -61.856369 119.054901 -31.576721 119.054901 0.000000 c +h S +0.500000 w +120.472229 0.000000 m +120.472229 31.952637 107.777191 62.592758 85.184982 85.184982 c +62.592758 107.777191 31.952637 120.472229 0.000000 120.472229 c +-31.952637 120.472229 -62.592758 107.777191 -85.184982 85.184982 c +-107.777191 62.592758 -120.472229 31.952637 -120.472229 0.000000 c +-120.472229 -31.952637 -107.777191 -62.592758 -85.184982 -85.184982 c +-62.592758 -107.777191 -31.952637 -120.472229 0.000000 -120.472229 c +31.952637 -120.472229 62.592758 -107.777191 85.184982 -85.184982 c +107.777191 -62.592758 120.472229 -31.952637 120.472229 0.000000 c +h S +0.500000 w +121.889542 0.000000 m +121.889542 32.328552 109.045166 63.329147 86.187149 86.187149 c +63.329147 109.045166 32.328552 121.889542 0.000000 121.889542 c +-32.328552 121.889542 -63.329147 109.045166 -86.187149 86.187149 c +-109.045166 63.329147 -121.889542 32.328552 -121.889542 0.000000 c +-121.889542 -32.328552 -109.045166 -63.329147 -86.187149 -86.187149 c +-63.329147 -109.045166 -32.328552 -121.889542 0.000000 -121.889542 c +32.328552 -121.889542 63.329147 -109.045166 86.187149 -86.187149 c +109.045166 -63.329147 121.889542 -32.328552 121.889542 0.000000 c +h S +0.500000 w +123.306870 0.000000 m +123.306870 32.704468 110.313126 64.065536 87.189331 87.189331 c +64.065536 110.313126 32.704468 123.306870 0.000000 123.306870 c +-32.704468 123.306870 -64.065536 110.313126 -87.189331 87.189331 c +-110.313126 64.065536 -123.306870 32.704468 -123.306870 0.000000 c +-123.306870 -32.704468 -110.313126 -64.065536 -87.189331 -87.189331 c +-64.065536 -110.313126 -32.704468 -123.306870 0.000000 -123.306870 c +32.704468 -123.306870 64.065536 -110.313126 87.189331 -87.189331 c +110.313126 -64.065536 123.306870 -32.704468 123.306870 0.000000 c +h S +0.500000 w +124.724182 0.000000 m +124.724182 33.080383 111.581100 64.801910 88.191513 88.191513 c +64.801910 111.581100 33.080383 124.724182 0.000000 124.724182 c +-33.080383 124.724182 -64.801910 111.581100 -88.191513 88.191513 c +-111.581100 64.801910 -124.724182 33.080383 -124.724182 0.000000 c +-124.724182 -33.080383 -111.581100 -64.801910 -88.191513 -88.191513 c +-64.801910 -111.581100 -33.080383 -124.724182 0.000000 -124.724182 c +33.080383 -124.724182 64.801910 -111.581100 88.191513 -88.191513 c +111.581100 -64.801910 124.724182 -33.080383 124.724182 0.000000 c +h S +0.500000 w +126.141510 0.000000 m +126.141510 33.456299 112.849060 65.538300 89.193680 89.193680 c +65.538300 112.849060 33.456299 126.141510 0.000000 126.141510 c +-33.456299 126.141510 -65.538300 112.849060 -89.193680 89.193680 c +-112.849060 65.538300 -126.141510 33.456299 -126.141510 0.000000 c +-126.141510 -33.456299 -112.849060 -65.538300 -89.193680 -89.193680 c +-65.538300 -112.849060 -33.456299 -126.141510 0.000000 -126.141510 c +33.456299 -126.141510 65.538300 -112.849060 89.193680 -89.193680 c +112.849060 -65.538300 126.141510 -33.456299 126.141510 0.000000 c +h S +0.500000 w +127.558823 0.000000 m +127.558823 33.832199 114.117035 66.274689 90.195862 90.195862 c +66.274689 114.117035 33.832199 127.558823 0.000000 127.558823 c +-33.832199 127.558823 -66.274689 114.117035 -90.195862 90.195862 c +-114.117035 66.274689 -127.558823 33.832199 -127.558823 0.000000 c +-127.558823 -33.832199 -114.117035 -66.274689 -90.195862 -90.195862 c +-66.274689 -114.117035 -33.832199 -127.558823 0.000000 -127.558823 c +33.832199 -127.558823 66.274689 -114.117035 90.195862 -90.195862 c +114.117035 -66.274689 127.558823 -33.832199 127.558823 0.000000 c +h S +0.500000 w +128.976151 0.000000 m +128.976151 34.208115 115.384995 67.011078 91.198029 91.198029 c +67.011078 115.384995 34.208115 128.976151 0.000000 128.976151 c +-34.208115 128.976151 -67.011078 115.384995 -91.198029 91.198029 c +-115.384995 67.011078 -128.976151 34.208115 -128.976151 0.000000 c +-128.976151 -34.208115 -115.384995 -67.011078 -91.198029 -91.198029 c +-67.011078 -115.384995 -34.208115 -128.976151 0.000000 -128.976151 c +34.208115 -128.976151 67.011078 -115.384995 91.198029 -91.198029 c +115.384995 -67.011078 128.976151 -34.208115 128.976151 0.000000 c +h S +0.500000 w +130.393463 0.000000 m +130.393463 34.584030 116.652969 67.747452 92.200211 92.200211 c +67.747452 116.652969 34.584030 130.393463 0.000000 130.393463 c +-34.584030 130.393463 -67.747452 116.652969 -92.200211 92.200211 c +-116.652969 67.747452 -130.393463 34.584030 -130.393463 0.000000 c +-130.393463 -34.584030 -116.652969 -67.747452 -92.200211 -92.200211 c +-67.747452 -116.652969 -34.584030 -130.393463 0.000000 -130.393463 c +34.584030 -130.393463 67.747452 -116.652969 92.200211 -92.200211 c +116.652969 -67.747452 130.393463 -34.584030 130.393463 0.000000 c +h S +0.500000 w +131.810791 0.000000 m +131.810791 34.959946 117.920929 68.483841 93.202393 93.202393 c +68.483841 117.920929 34.959946 131.810791 0.000000 131.810791 c +-34.959946 131.810791 -68.483841 117.920929 -93.202393 93.202393 c +-117.920929 68.483841 -131.810791 34.959946 -131.810791 0.000000 c +-131.810791 -34.959946 -117.920929 -68.483841 -93.202393 -93.202393 c +-68.483841 -117.920929 -34.959946 -131.810791 0.000000 -131.810791 c +34.959946 -131.810791 68.483841 -117.920929 93.202393 -93.202393 c +117.920929 -68.483841 131.810791 -34.959946 131.810791 0.000000 c +h S +0.500000 w +133.228104 0.000000 m +133.228104 35.335861 119.188904 69.220230 94.204559 94.204559 c +69.220230 119.188904 35.335861 133.228104 0.000000 133.228104 c +-35.335861 133.228104 -69.220230 119.188904 -94.204559 94.204559 c +-119.188904 69.220230 -133.228104 35.335861 -133.228104 0.000000 c +-133.228104 -35.335861 -119.188904 -69.220230 -94.204559 -94.204559 c +-69.220230 -119.188904 -35.335861 -133.228104 0.000000 -133.228104 c +35.335861 -133.228104 69.220230 -119.188904 94.204559 -94.204559 c +119.188904 -69.220230 133.228104 -35.335861 133.228104 0.000000 c +h S +0.500000 w +134.645432 0.000000 m +134.645432 35.711777 120.456863 69.956619 95.206741 95.206741 c +69.956619 120.456863 35.711777 134.645432 0.000000 134.645432 c +-35.711777 134.645432 -69.956619 120.456863 -95.206741 95.206741 c +-120.456863 69.956619 -134.645432 35.711777 -134.645432 0.000000 c +-134.645432 -35.711777 -120.456863 -69.956619 -95.206741 -95.206741 c +-69.956619 -120.456863 -35.711777 -134.645432 0.000000 -134.645432 c +35.711777 -134.645432 69.956619 -120.456863 95.206741 -95.206741 c +120.456863 -69.956619 134.645432 -35.711777 134.645432 0.000000 c +h S +0.500000 w +136.062744 0.000000 m +136.062744 36.087692 121.724838 70.692993 96.208923 96.208923 c +70.692993 121.724838 36.087692 136.062744 0.000000 136.062744 c +-36.087692 136.062744 -70.692993 121.724838 -96.208923 96.208923 c +-121.724838 70.692993 -136.062744 36.087692 -136.062744 0.000000 c +-136.062744 -36.087692 -121.724838 -70.692993 -96.208923 -96.208923 c +-70.692993 -121.724838 -36.087692 -136.062744 0.000000 -136.062744 c +36.087692 -136.062744 70.692993 -121.724838 96.208923 -96.208923 c +121.724838 -70.692993 136.062744 -36.087692 136.062744 0.000000 c +h S +0.500000 w +137.480072 0.000000 m +137.480072 36.463593 122.992798 71.429382 97.211090 97.211090 c +71.429382 122.992798 36.463593 137.480072 0.000000 137.480072 c +-36.463593 137.480072 -71.429382 122.992798 -97.211090 97.211090 c +-122.992798 71.429382 -137.480072 36.463593 -137.480072 0.000000 c +-137.480072 -36.463593 -122.992798 -71.429382 -97.211090 -97.211090 c +-71.429382 -122.992798 -36.463593 -137.480072 0.000000 -137.480072 c +36.463593 -137.480072 71.429382 -122.992798 97.211090 -97.211090 c +122.992798 -71.429382 137.480072 -36.463593 137.480072 0.000000 c +h S +0.500000 w +138.897385 0.000000 m +138.897385 36.839508 124.260773 72.165771 98.213272 98.213272 c +72.165771 124.260773 36.839508 138.897385 0.000000 138.897385 c +-36.839508 138.897385 -72.165771 124.260773 -98.213272 98.213272 c +-124.260773 72.165771 -138.897385 36.839508 -138.897385 0.000000 c +-138.897385 -36.839508 -124.260773 -72.165771 -98.213272 -98.213272 c +-72.165771 -124.260773 -36.839508 -138.897385 0.000000 -138.897385 c +36.839508 -138.897385 72.165771 -124.260773 98.213272 -98.213272 c +124.260773 -72.165771 138.897385 -36.839508 138.897385 0.000000 c +h S +0.500000 w +140.314713 0.000000 m +140.314713 37.215424 125.528732 72.902161 99.215439 99.215439 c +72.902161 125.528732 37.215424 140.314713 0.000000 140.314713 c +-37.215424 140.314713 -72.902161 125.528732 -99.215439 99.215439 c +-125.528732 72.902161 -140.314713 37.215424 -140.314713 0.000000 c +-140.314713 -37.215424 -125.528732 -72.902161 -99.215439 -99.215439 c +-72.902161 -125.528732 -37.215424 -140.314713 0.000000 -140.314713 c +37.215424 -140.314713 72.902161 -125.528732 99.215439 -99.215439 c +125.528732 -72.902161 140.314713 -37.215424 140.314713 0.000000 c +h S +0.500000 w +141.732025 0.000000 m +141.732025 37.591339 126.796707 73.638535 100.217621 100.217621 c +73.638535 126.796707 37.591339 141.732025 0.000000 141.732025 c +-37.591339 141.732025 -73.638535 126.796707 -100.217621 100.217621 c +-126.796707 73.638535 -141.732025 37.591339 -141.732025 0.000000 c +-141.732025 -37.591339 -126.796707 -73.638535 -100.217621 -100.217621 c +-73.638535 -126.796707 -37.591339 -141.732025 0.000000 -141.732025 c +37.591339 -141.732025 73.638535 -126.796707 100.217621 -100.217621 c +126.796707 -73.638535 141.732025 -37.591339 141.732025 0.000000 c +h S +Q +% mps graphic 1: end +1 0 0 1 -212.8474 -389.4945 cm +BT +/F1 11.955168 Tf 1 0 0 1 70.867 213.216 Tm [<00620051004B0032>-326<0069003200740069>]TJ +ET +endstream +endobj +16 0 obj +<> +endobj +15 0 obj +<>/ProcSet[/PDF/Text]>> +endobj +20 0 obj +<> +stream + + + + + + application/pdf + + + + + + + + + scite-context-visual + + + + + scite-context-visual + 2011.11.09 18:39 + www.pragma-ade.com + 2011.11.08 19:35 + scite-context-visual.2011-11-09T18:39:10+01:00 + This is LuaTeX, Version beta-0.71.0-2011062811 (rev 4315) (TeX Live 2011) kpathsea version 6.0.1 + + + 2011-11-09T18:39:10+01:00 + ConTeXt - 2011.11.08 19:35 + 2011-11-09T18:39:10+01:00 + 2011-11-09T18:39:10+01:00 + + + + LuaTeX-0.71.0 + False + + + uuid:024960bd-4882-a9a1-9b6f-2a8fa9bd7367 + uuid:5a250e9b-49b9-bcd7-8517-4d4de03fba07 + + + + + +endstream +endobj +21 0 obj +[28[490]35[544]43[435]47[544]50[435]53[272]55[299]63[544]66[272]68[299]70[517]72[272]75[816]77[544]81[490 490]84[544]88[272]96[381 544 386]104[707 381]109[544]114[707]116[517]118[517]] +endobj +22 0 obj +<> +stream +%*”h€เฤ* +endstream +endobj +23 0 obj +<> +stream +EIELYR+LMRoman12-RegularF๘๘‹ ๘๘๘ ๘!๘"๛C ท :๛ฌr๚๛›ฺ๗ "ก $า %&+๚ EIELYR+LMRoman12-RegularAdobeIdentity2.004Copyright 2003, 2009 B. Jackowski and J. M. Nowacki (on behalf of TeX users groups). This work is released under the GUST Font License -- see http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt for details.LMRoman12-RegularLMRoman12Normal#+/257?BDFHKMQRTX`abhimrtvŒ bE‡ํrอ;^ผซฮ x เ +. +Œ 8 ๐ ‹๛†จ~v๗Žžคwญา๗bฬืกŸ๘nไรuSRsƒ}e‹ภš๗Cม‹ณ_ฒซh^™_9LUJnž}ขฃœœฃดg‹|ตขปณนฦe1c๛]ˆ?7>@<็rศอธณปžง\ชgถ ล™๛7ฟ)Bj`Zbฏป๗๗>—ฏ(Ÿ๘/Ÿ๗iณงื‹สLื๗ืh๘๗l๗-ํ๛T\rai๗ิฒ๛€nฯ“„Z๊กฏฬfขถeห๗๐์๗?ŒHasglwclYUhฎฆz~ ‹œ๗bF‹–›ฏฃทจผฉ๔๛T๛dก๗จมกฎื๗^๘*๗ ”„‹ˆ‚ŠˆˆDuUmUN:ภ๗,๗:เดฝฑย|dขf‹bsœzฃขž™จฮEป:๛ .#๛๛๋)๗๗ฉ๗ ”(Ÿwฒ๘Ÿ๗iณ๗ภื‹ส‹ื~๘—จGƒ’ผ๘๕๛€nฯ“„Z๛qจv`ฎN๛')๛๛๊)๗ืทฝž™F๗y‹ˆ}uฎhsbnYq๛•๗Vำ—ณกฌชŸณชฝษฎ^{•—z‹‰y๛dก๗]ž‹ž๗Wwฉื๗ƒษศ๘+๗ ‘†…ƒ‰††‰7qHtaa&ง๗Až๗ฉผก‹ž๐U้๛ ๛3$๛๛๑*๗๗ ธ๗ M๗๛‚๗1“ใง๖‘๛!iŒ‹์ ๘–wโ์๗L๙0ซpšvvl}aŽฏ^zŒ‡”•ŽŒฏ๛,ฅuกqovupqกuฅง กฆ๛์‹จ๘ จ๗ฅw๗สๆฺ๗๊๙ฐgจ[Eln˜žwtข|Ÿง๗bž‹Œ–›ธฉผžฑึว0๛‹์โ์๗Lผฆt rnwtrmคxขฆก ง๛š‹จ๗ฮณจnณ๓ส‡ฺซฺ๗๕๘ฉpง`6n/x…Š๗จ๛€nฯ“„Z๛ฃ^€‹Jnงย‹ฉฆา‹‰ขจ„wJB‰–ฏ๗1์ณๆุ“‹Šƒ‡{…pnข€›ŸŸ˜ฆ(vจ๙1ฆมล๗Kลูล๘}๗Lศtธpฌfธ^–d•๛งX˜^ฝหัรสู๗8ก๛6`‘‹‡•–‹๗^‹ˆ‡‹~„jNษ[I—_๛:2%[œ_ฐcฎdฎ‚าyฎƒย}™…บtชUS@VD8^M–ถZQฟ‡ำŠฌŠ“‹‹€‹†y๛^y‹†•‘Œ—’ฌวcฏสiแ๗๊๗๛•–v๗2๗šฌธ๗yธ๗๔๗มjซ‚”gชp‘I—m‘B™วช นๅ๗‘.lƒŒ’‹Ž–‹๓‹ƒxu‚„คll‘k๛ gIT€‹hฑhซoญ„น‚ย€˜ˆคw|˜uo`r[3I[ฑ๏u‡Š‹‰‡‹ˆ€‹†y๛y‹†•ŒŒ œ’‹š›\ฑม‹œ๔ฟลฺห‹จ๙จ๗อ๙3๘[y๗s์y๛sก๗2™”ฏ๗2ง‹‰“ŸˆŒtจi‹})gnซ๒‹ฒฒ๓‹‰ซจg)‹™ญ๘จค”›“จ‹ž๗2”g๛2™๛šก๘จ๗Lw๒ฬuก๗ก๔๗ฺ๗ฤuTCnadG‹่œ๗ฌ๗!จ๛!๗LhuŠ-g+0ˆwิเ๛ช๛ีtภสฌษำ(ฒ๘ณ๗ฬ๗cฬ๘จGƒ’ผ๗๘๛!€nฯ“„Z๛G6^D@9†บภ๗฿๛!€nื‹ˆ2๛*M‹gฉjqฃดพœซ‹จญจข›ฑ‹1ห–v๗ๆจธจ๙2๙D๘&จ‰ry‹l6nธ‰—px‹‹ƒ‡/๛š'๗ฏ†—‹Žงฐ‹ จ‰ob‹n1nฑ˜‰~–…—j’w6๛ˆ+๗ค†˜‹ฆฒ‹žจ‰rY‹p.nพ•‡k–๗๛๚€Ž„–”Ž›๏๗ฑ๏๛ฑ{ˆ”–Ž’–๗๗กสทœŒ๛‹จ๗6จ๗-จ‹จ•๘„˜๘ŽจVyซs๛๗Aจฑตมž นดบ’ซจ‰`‰‹d1n˜‰›…tz‚€…ƒK:=๒ˆ…”’‘ฉŒจ‰rX‹p+n่พž‰p ๗ ๛-‰…ˆˆ=)~_U_€`Šnฑ‹ถๅ‰จsŽ‡š™›’“•˜ำ่ œu‹‰…ƒƒ{pŠnฅผ‹ง๛๛Kvฑื๘Qืnจžึ‹ึ๗’ึ๘†๘&จ‰n}‹k:nฐ‰”ty‚‰†‡%๛$๛๗ค…™‹’‹Tฅฎ‹Ÿจ‰qZ‹o*nล“†l˜๗)_!‹‰‡ƒmzpe^lx‹‹ฎฎฃx˜yšzvneฐfภรดผสฅ๗A๘>ฮฆบŒž๘ &;ตv ๘Cš๗o•“ JTl/ ‹ จ +ฬ žŒŒŒ‘Œณš กฆ™‘Ž‘ ๘~๙ +endstream +endobj +24 0 obj +<> +endobj +25 0 obj +<> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-EIELYR-LMRoman12-Regular-0) +%%Title: (TeX-EIELYR-LMRoman12-Regular-0 TeX EIELYR-LMRoman12-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (EIELYR-LMRoman12-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-EIELYR-LMRoman12-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> +endcodespacerange +0 beginbfrange +endbfrange +27 beginbfchar +<001C> <0061> +<0023> <0062> +<002B> <0063> +<002F> <0064> +<0032> <0065> +<0035> <0021> +<0037> <0066> +<003F> <0068> +<0042> <0069> +<0044> <006A> +<0046> <006B> +<0048> <006C> +<004B> <006D> +<004D> <006E> +<0051> <006F> +<0052> <0031> +<0054> <0070> +<0058> <002E> +<0060> <0072> +<0061> <0053> +<0062> <0073> +<0068> <0054> +<0069> <0074> +<006D> <0075> +<0072> <0077> +<0074> <0078> +<0076> <0079> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF +endstream +endobj +18 0 obj +<> +endobj +26 0 obj +<>>> +endobj +19 0 obj +<> +endobj +27 0 obj +<<>> +endobj +28 0 obj +<> ] >> /PageMode /UseNone /Metadata 20 0 R>> +endobj +29 0 obj +<< +/ConTeXt.Url (www.pragma-ade.com) /ConTeXt.Version (2011.11.08 19:35) /ConTeXt.Jobname (scite-context-visual) /CreationDate (D:20111109183910+01'00') /Trapped /False /Title /ConTeXt.Time (2011.11.09 18:39) /ID (scite-context-visual.2011-11-09T18:39:10+01:00) /Producer (LuaTeX-0.71.0) /ModDate (D:20111109183910+01'00') /Creator +/PTEX.Fullbanner (This is LuaTeX, Version beta-0.71.0-2011062811 (rev 4315) (TeX Live 2011) kpathsea version 6.0.1)>> +endobj +xref +0 30 +0000000001 65535 f +0000000002 00000 f +0000000003 00000 f +0000000004 00000 f +0000000005 00000 f +0000000006 00000 f +0000000007 00000 f +0000000008 00000 f +0000000009 00000 f +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000000 00000 f +0000057388 00000 n +0000057189 00000 n +0000000015 00000 n +0000065351 00000 n +0000065676 00000 n +0000057447 00000 n +0000059844 00000 n +0000060045 00000 n +0000060117 00000 n +0000064020 00000 n +0000064238 00000 n +0000065491 00000 n +0000065729 00000 n +0000065750 00000 n +0000065902 00000 n +trailer +< <1115B5541270CE955C1C8AF52AEDAC98>]>> +startxref +66566 +%%EOF diff --git a/context/data/scite/context/documents/scite-context-visual.png b/context/data/scite/context/documents/scite-context-visual.png new file mode 100644 index 000000000..7368a68f1 Binary files /dev/null and b/context/data/scite/context/documents/scite-context-visual.png differ diff --git a/context/data/scite/context/lexers/data/scite-context-data-context.lua b/context/data/scite/context/lexers/data/scite-context-data-context.lua new file mode 100644 index 000000000..6c0293fbd --- /dev/null +++ b/context/data/scite/context/lexers/data/scite-context-data-context.lua @@ -0,0 +1,4 @@ +return { + ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "etexversion", "pdftexversion", "xetexversion", "xetexrevision", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "setupdocument", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "breakablethinspace", "nobreakspace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj" }, + ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "doifelsecommandhandler", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "strippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthsargumenttrue", "sixthargumentfalse", "sixtsargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "scratchdimen", "globalscratchdimen", "scratchskip", "globalscratchskip", "scratchmuskip", "globalscratchmuskip", "scratchtoks", "globalscratchtoks", "scratchbox", "globalscratchbox", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifinsetelse", "doifnextcharelse", "doifnextoptionalelse", "doifnextoptionalcselse", "doiffastoptionalcheckelse", "doifnextbgroupelse", "doifnextbgroupcselse", "doifnextparenthesiselse", "doifundefinedelse", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifdimensionelse", "doifnumberelse", "doifnumber", "doifnotnumber", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifinstringelse", "doifassignmentelse", "docheckassignment", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "strut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "begstrut", "endstrut", "lineheight", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expdoifelse", "expdoif", "expdoifnot", "expdoifcommonelse", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "carryoverpar", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "lefttoright", "righttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath" }, +} \ No newline at end of file diff --git a/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua b/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua new file mode 100644 index 000000000..b2c09b62a --- /dev/null +++ b/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua @@ -0,0 +1,10 @@ +return { + ["cs"]={ "CAP", "Cap", "Caps", "Cisla", "KAP", "Kap", "Kaps", "MESIC", "Rimskecislice", "SLOVA", "SLOVO", "Slova", "Slovo", "VSEDNIDEN", "Znak", "Znaky", "aktualnicislonadpisu", "aktualnidatum", "appendix", "arg", "atleftmargin", "atrightmargin", "barevnalista", "barva", "bilemisto", "bottomspace", "bublinkovanapoveda", "bydliste", "bypassblocks", "cap", "celkovypocetstran", "cernalinka", "cernelinky", "chapter", "chem", "cisla", "cislonadpisu", "cislopodrovnice", "cislorovnice", "cislostrany", "citace", "citovat", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "coupledregister", "crlf", "cutspace", "datum", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "definepagebreak", "defineplacement", "definerawfont", "definerule", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definuj", "definujakcent", "definujbarvu", "definujblok", "definujbloksekce", "definujbuffer", "definujfont", "definujformatodkazu", "definujhbox", "definujhlavnipole", "definujinterakcnimenu", "definujkombinovanyseznam", "definujkonverzi", "definujlogo", "definujnadpis", "definujobrazeksymbol", "definujodkaz", "definujodstavce", "definujopis", "definujoramovani", "definujoramovanytext", "definujpaletu", "definujplvouciobjekt", "definujpodpole", "definujpole", "definujpopis", "definujpopisek", "definujprekryv", "definujpreskok", "definujprikaz", "definujprofil", "definujprogram", "definujprostredizakladnihofontu", "definujrejstrik", "definujsablonutabulky", "definujsekci", "definujseznam", "definujseznamodkazu", "definujskupinubarev", "definujstartstop", "definujstyl", "definujstylfontu", "definujsymbol", "definujsynonumumfontu", "definujsynonyma", "definujtabelaci", "definujtext", "definujtrideni", "definujupravu", "definujvelikostpapiru", "definujverzi", "definujvycet", "definujvystup", "definujzakladnifont", "definujzasobnikpoli", "definujznaceni", "definujznak", "delkaseznamu", "description", "dodrzujprofil", "dodrzujverzi", "dodrzujverziprofilu", "dvoustrannypapir", "emptylines", "enumeration", "externiobraz", "fakt", "footnotetext", "forceblocks", "framedtext", "getnumber", "headsym", "hl", "hlavnijazyk", "hlavniuroven", "hodnotabarvy", "hodnotasedi", "immediatebetweenlist", "immediatetolist", "indentation", "ininner", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "instalacejazyka", "interakcnilista", "interakcnitlacitka", "interaktivnimenu", "jazyk", "jdidolu", "jdina", "jdinabox", "jdinastranu", "jmeno", "kap", "klonujpole", "komponenta", "konvertujcislo", "kopirujpole", "korekcebilehomista", "labeling", "leg", "listsymbol", "loadsorts", "loadsynonyms", "maoramovani", "mapfontsize", "marginalnilinka", "marginalninadpis", "marginalnislovo", "marginalnitext", "matematika", "mazaramovani", "mediaeval", "meritko", "mesic", "mezera", "moveformula", "movesidefloat", "mrizka", "nadpis", "nadruhyokraj", "nalevo", "nalevyokraj", "name", "naokraj", "napravo", "napravyokraj", "nastavbarvu", "nastavbarvy", "nastavbilamista", "nastavblok", "nastavbloksekce", "nastavbuffer", "nastavcernelinky", "nastavcislonadpisu", "nastavcislostrany", "nastavcislovani", "nastavcislovaniodstavcu", "nastavcislovaniradku", "nastavcislovanistran", "nastavcitaci", "nastavdefinicipoznamekpodcarou", "nastavdeleniplvoucichobjektu", "nastavdelitko", "nastavdolnitexty", "nastaveni", "nastavexterniobrazy", "nastavhorejsek", "nastavhornitexty", "nastavinterakci", "nastavinterakcnilistu", "nastavinterakcnimenu", "nastavinterakcniobrazovku", "nastavjazyk", "nastavkapitalky", "nastavkombinovanyseznam", "nastavkomentar", "nastavkomentarstrany", "nastavlegendu", "nastavmarginalie", "nastavmarginalniblok", "nastavmarginalnilinky", "nastavmeziradkovoumezeru", "nastavnadpis", "nastavnadpisy", "nastavodkazovani", "nastavodsazovani", "nastavodstavce", "nastavopis", "nastavoramovanetexty", "nastavoramovani", "nastavorez", "nastavotoceni", "nastavpaletu", "nastavplvouciobjekt", "nastavplvouciobjekty", "nastavpodcislostrany", "nastavpodtrzeni", "nastavpole", "nastavpolozky", "nastavpopisek", "nastavpopisky", "nastavpopisy", "nastavpozadi", "nastavpoznamkypodcarou", "nastavprechodstrany", "nastavpreskok", "nastavprofily", "nastavprogramy", "nastavprostredizakladnihofontu", "nastavpublikace", "nastavradkovani", "nastavradky", "nastavrastr", "nastavrejstrik", "nastavrovnice", "nastavsadusymbolu", "nastavsekci", "nastavseznam", "nastavseznamodkazu", "nastavsirkucary", "nastavsloupce", "nastavspodek", "nastavspojeni", "nastavsynchronizaci", "nastavsynchronizacnilistu", "nastavsynonyma", "nastavsystem", "nastavtab", "nastavtabelaci", "nastavtabulky", "nastavtenkelinky", "nastavtext", "nastavtexthlavicky", "nastavtextovelinky", "nastavtextpopisku", "nastavtexttexty", "nastavtextyupati", "nastavtextyzahlavi", "nastavtlacitka", "nastavtoleranci", "nastavtrideni", "nastavtype", "nastavumisteniprotejsku", "nastavumistovani", "nastavupati", "nastavupravu", "nastavurl", "nastavusporadani", "nastavvelikostpapiru", "nastavverze", "nastavvsechnapole", "nastavvycty", "nastavvyplnovelinky", "nastavvyplnoveradky", "nastavvystup", "nastavvzhled", "nastavzahlavi", "nastavzakladnifont", "nastavzarovnani", "nastavznaceni", "nastavzuzeni", "nastrane", "navigating", "nejakyradek", "nekde", "nextsection", "neznamo", "nivy", "nizky", "nocap", "nokap", "nop", "numberofsubpages", "obrazovka", "odkaz", "odkaznadatum", "odkaznastranu", "odkaznatext", "odkazujici", "odsazenishora", "odsazenizleva", "odsazovani", "okr", "opakovat", "opis", "opissoubor", "oramovani", "oref", "orez", "otocit", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "oznaceni", "oznacverzi", "pagedepth", "pageoffset", "paragraph", "parovastrana", "part", "pis", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placepagenumber", "placerawlist", "placereferencelist", "placerule", "placetextvariable", "plnezneni", "pol", "pole", "polozka", "polozky", "popisky", "poppisek", "porovnejpaletu", "porovnejskupinubarev", "positiontext", "pozadi", "pozice", "poznamka", "poznamkapodcarou", "pref", "prelozit", "premistinamrizku", "prepninazakladnifont", "preskoc", "prizpusobivepole", "prizpusobvzhled", "produkt", "program", "projekt", "propojeneznaceni", "propojenydokument", "propojenyrejstrik", "prostredi", "publikace", "ran", "ref", "register", "reservefloat", "reset", "resetnumber", "resettextcontent", "resetznaceni", "rimskecislice", "rozdelplvouciobjekt", "rozmer", "rozpojeneznaceni", "roztazene", "schovejbloky", "section", "sedabarva", "seeregister", "setnumber", "settextcontent", "settextvariable", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupforms", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setuprule", "setupstartstop", "setupstrut", "setuptextposition", "setuptextvariable", "sirkalevehookraje", "sirkalevemarginalie", "sirkamarginalie", "sirkaokraje", "sirkapapiru", "sirkapravehookraje", "sirkapravemarginalie", "sirkasazby", "sirkaseznamu", "sirkatextu", "sirkatiskpapiru", "sloupec", "slovovpravo", "sort", "spodek", "stanovcharakteristickuseznamu", "stanovcislonadpisu", "startalignment", "startbarva", "startbuffer", "startcislovaniradku", "startcitace", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startdescription", "startdocument", "startdokument", "startenumeration", "startfakt", "startfigure", "startfloattext", "startformula", "startframedtext", "startglobalni", "starthiding", "startinteraktivnimenu", "startitemgroup", "startkodovani", "startkomponenta", "startkorekceradku", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokalni", "startlokalnipoznamkypodcarou", "startmakeup", "startmarginalniblok", "startmarginalnilinka", "startmarginblock", "startnamemakeup", "startnarrower", "startnezhustene", "startobraz", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startpozadi", "startprehled", "startprekryv", "startprodukt", "startprofil", "startprofile", "startprojekt", "startprostredi", "startprotejsek", "startradek", "startradky", "startrastr", "startregister", "startsadasymbolu", "startsloupce", "startspojeni", "startsymbolset", "startsynchronizace", "startsynchronization", "starttable", "starttables", "starttabulate", "starttabulka", "starttabulky", "starttext", "starttextovalinka", "starttyping", "startumistovani", "startunpacked", "startuprava", "startverze", "startzarovnavani", "startzhustene", "startzuzeni", "stopalignment", "stopbarva", "stopbuffer", "stopcislovaniradku", "stopcitace", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopdokument", "stopenumeration", "stopfakt", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopglobalni", "stophiding", "stopinteraktivnimenu", "stopitemgroup", "stopkodovani", "stopkomponenta", "stopkorekceradku", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokalni", "stoplokalnipoznamkypodcarou", "stopmakeup", "stopmarginalniblok", "stopmarginalnilinka", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopnezhustene", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stoppozadi", "stopprehled", "stopprekryv", "stopprodukt", "stopprofil", "stopprofile", "stopprojekt", "stopprostredi", "stopprotejsek", "stopradek", "stopradky", "stoprastr", "stopsloupce", "stopspojeni", "stopsymbolset", "stopsynchronizace", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptabulka", "stoptabulky", "stoptext", "stoptextovalinka", "stoptyping", "stopumistovani", "stopunpacked", "stopuprava", "stopverze", "stopzarovnavani", "stopzhustene", "stopzuzeni", "strana", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtorawfont", "sym", "symbol", "synchronizacnilista", "synchronizovat", "synonym", "tab", "tecky", "tenkalinka", "tenkelinky", "testcolumn", "testpage", "tex", "texthlavicky", "textovalinka", "textpopisku", "textvariable", "title", "tlacitko", "tlacitkomenu", "tloustkacary", "tref", "tvrdamezera", "tvrdemezery", "txt", "typebuffer", "ukazbarvu", "ukazexterniobrazy", "ukazmrizku", "ukaznastaveni", "ukazpaletu", "ukazpodpery", "ukazpole", "ukazpostredizakladnihofontu", "ukazramecek", "ukazsadusymbolu", "ukazskupinubarev", "ukazupravu", "ukazvytisk", "ukazvzhled", "ukazzakladnifont", "umistikombinovanyseznam", "umistilegendu", "umistiloga", "umistilokalnipoznamkypodcarou", "umistinadsebe", "umistinamrizku", "umistipodrovnici", "umistipoznamkypodcarou", "umistirejstrik", "umistirovnici", "umistiseznam", "umistivedlesebe", "umistizalozky", "underbar", "underbars", "urcicharakteristikurejstriku", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "uzijJSscripts", "uzijURL", "uzijadresar", "uzijbloky", "uzijexternidokument", "uzijexterniobraz", "uzijexternisoubor", "uzijexternisoubory", "uzijexternizvuk", "uzijkodovani", "uzijmodul", "uzijmoduly", "uzijodkazy", "uzijprikazy", "uzijspeciality", "uzijsymbol", "uzijurl", "verze", "vl", "vlasovalinka", "vlevo", "vpravo", "vradku", "vsedniden", "vyberbloky", "vyberpapir", "vyberverzi", "vyplnenytext", "vyplnovelinky", "vyplnovepole", "vyplnovyradek", "vyskahorejsku", "vyskapapiru", "vyskasazby", "vyskaseznamu", "vyskaspodku", "vyskatextu", "vyskatiskpapiru", "vyskaupati", "vyskazahlavi", "vysoky", "vyznam", "vzdalenosthorejsku", "vzdalenostlevehookraje", "vzdalenostlevemarginalie", "vzdalenostmarginalie", "vzdalenostokraje", "vzdalenostpravehookraje", "vzdalenostpravemarginalie", "vzdalenostspodku", "vzdalenostupati", "vzdalenostzahlavi", "zablokujinterakcnimenu", "zachovejbloky", "zadnamezera", "zadnebilemisto", "zadnedalsibloky", "zadnedalsisoubory", "zadnehorniadolniradky", "zadneodsazovani", "zadnezahlaviaupati", "zadneznaceni", "zadnyrozmer", "zadnyseznam", "zadnytest", "zalozka", "zapisdorejstriku", "zapisdoseznamu", "zapisdoseznamuodkazu", "zapismeziseznam", "zaramovani", "zarovnanonastred", "zarovnanovlevo", "zarovnanovpravo", "zasobnikpoli", "zaznamovepole", "zhustene", "ziskejbuffer", "ziskejznaceni", "zlomek", "znaceni", "znak", "znaky", "zpracujbloky", "zpracujstranu", "zrcadlit", "zref", "zvysujicicislo" }, + ["de"]={ "Buchstabe", "Buchstaben", "CAP", "Cap", "Caps", "KAP", "Kap", "Kaps", "MONAT", "Roemischezahlen", "WOCHENTAG", "WOERTER", "WORT", "Woerter", "Wort", "Ziffern", "abstandlinkerrand", "abstandoben", "abstandrechterrand", "abstandunten", "amgitterausrichten", "amgitterneuausrichten", "appendix", "arg", "atleftmargin", "atrightmargin", "aufseite", "ausfuellfeld", "ausfuelltext", "ausschnitt", "bearbeitebloecke", "bearbeiteseite", "bedeutung", "behaltebloecke", "bei", "bemerkung", "benutzekodierung", "benutzespezielles", "benutzeverzeichnis", "beschrifteversion", "beschriftung", "bestimmekopfnummer", "bestimmelistencharakeristika", "bestimmeregistercharakteristika", "bildschirm", "blanko", "bookmark", "bottomspace", "breitelinkerrand", "breiterechterrand", "bruch", "buchstabe", "buchstaben", "but", "bypassblocks", "cap", "chapter", "chem", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "coupledregister", "crlf", "cutspace", "datum", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "defineoutput", "definepagebreak", "defineplacement", "definerawfont", "definerule", "defineschriftsynonym", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definiereabbsymbol", "definiereabsaetze", "definiereabschnitt", "definiereabschnittsblock", "definiereakzent", "definierebefehl", "definierebeschreibung", "definierebeschreibungen", "definierebeschriftung", "definiereblanko", "definiereblock", "definierefarbe", "definierefarbengruppe", "definierefeld", "definierefeldstapel", "definierefliesstext", "definierefliesstextumgebung", "definieregleitobjekt", "definierehauptfeld", "definierehbox", "definiereinteraktionsmenue", "definierekonversion", "definierelabel", "definiereliste", "definierelogo", "definieren", "definierenummerierung", "definiereoverlay", "definierepalette", "definierepapierformat", "definiereprofil", "definiereprogramme", "definierepuffer", "definierereferenz", "definierereferenzformat", "definierereferenzliste", "definiereregister", "definiereschrift", "definiereschriftstil", "definieresortieren", "definierestartstop", "definierestil", "definieresubfeld", "definieresymbol", "definieresynonyme", "definieretabellenvorlage", "definieretabulator", "definieretext", "definieretippen", "definiereueberschrift", "definiereumbruch", "definiereumrahmt", "definiereumrahmtertext", "definiereversion", "definierezeichen", "definierezusammengestellteliste", "description", "dimension", "doppelseite", "doppelseitigespapier", "drehen", "duennelinie", "duennerumriss", "einezeile", "einstellungen", "einziehen", "emptylines", "entknuepfebeschriftung", "enumeration", "externeabbildung", "farbbalken", "farbe", "farbewert", "feld", "feldstapel", "festesspatium", "folgeprofil", "folgeprofilversion", "folgeversion", "footnotetext", "forceblocks", "format", "formelnummer", "framedtext", "fussnote", "fusszeileabstand", "fusszeilenhoehe", "gefuelltesrechteck", "gefuelltezeile", "geg", "gesamtseitenanzahl", "gestreckt", "getnumber", "gitter", "graufarbe", "grauwert", "haarlinie", "hauptsprache", "headsym", "heutigesdatum", "heutigeskopfnummer", "hintergrund", "hl", "hoch", "hoeheoben", "hoeheunten", "holebeschriftung", "holepuffer", "imlinken", "imlinkenrand", "immaumrise", "immediatebetweenlist", "immediatetolist", "imrechten", "imrechtenrand", "imumriss", "in", "inaktiviereinteraktionsmenue", "inanderermarginale", "indentation", "ininner", "inlinkermarginale", "inmarginalie", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inrechtermarginale", "installieresprache", "interaktionsbalken", "interaktionsknopfe", "interaktionsmenue", "inzeile", "irgendwo", "its", "kap", "keindimension", "keinebeschriftung", "keinebloeckemehr", "keinedateienmehr", "keinekopfundfusszeilen", "keineliste", "keinspatium", "keintest", "keinzeilenobenundunten", "keinzwischenraum", "kleinerdurchschuss", "klonierefeld", "knopf", "komponente", "konvertierezahl", "kopf", "kopfniveau", "kopfnummer", "kopfweite", "kopfzeilenabstand", "kopfzeilenhoehe", "kopierefeld", "korrigierezwischenraum", "label", "labeling", "labels", "labeltext", "leg", "liniendicke", "linkemarginalafstand", "linkemarginalbreite", "linksbuendig", "listenbreite", "listenhoehe", "listenlaenge", "listsymbol", "loadsorts", "loadsynonyms", "mapfontsize", "mar", "marginalafstand", "marginalbreite", "marginallinie", "marginaltext", "marginaltitel", "marginalwort", "mathematik", "maumrise", "mediaeval", "menueknopf", "monat", "moveformula", "movesidefloat", "nachunten", "name", "navigating", "nextsection", "nichteinziehen", "nocap", "nokap", "nop", "notiz", "numberofsubpages", "nummererhoehen", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "papierbreite", "papierhoehe", "paragraph", "part", "passelayoutan", "passendfeld", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placepagenumber", "placerawlist", "placereferencelist", "placerule", "placetextvariable", "platzierebookmarks", "platziereformel", "platzierefussnoten", "platzierelegende", "platziereliste", "platzierelogo", "platzierelokalefussnoten", "platzierenebeneinander", "platziereregister", "platziereuntereinander", "platziereunterformel", "platzierezusammengestellteliste", "pos", "position", "positiontext", "posten", "printpapierbreite", "printpapierhoehe", "produkt", "programm", "projekt", "publikation", "punkt", "ran", "randabstand", "randbreite", "rechteck", "rechtecke", "rechtemarginalafstand", "rechtemarginalbreite", "rechtsbuendig", "ref", "referenz", "referieren", "register", "registrierefelder", "reservefloat", "resetnumber", "resettextcontent", "roemischezahlen", "ruecksetzten", "ruecksetztenbeschriftung", "rumpfweite", "satzbreite", "satzhoehe", "schreibezumregister", "schreibezurliste", "schreibezurreferenzliste", "schreibezwischenliste", "section", "seeregister", "seite", "seitenreferenz", "seitenummer", "setnumber", "settext", "settextvariable", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupforms", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setuprule", "setupstartstop", "setupstrut", "setuptextposition", "setuptextvariable", "showsymbolset", "sort", "spalte", "spatium", "spiegeln", "sprache", "startabbildung", "startalignment", "startausrichtung", "startbuffer", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startdescription", "startdocument", "startdokument", "startenger", "startenumeration", "startfarbe", "startfigure", "startfloattext", "startformula", "startframedtext", "startgeg", "startgegenueber", "startglobal", "startgrosserdurchschuss", "starthiding", "starthintergrund", "startinteraktionsmenue", "startitemgroup", "startkleinerdurchschuss", "startkodierung", "startkombination", "startkomponente", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokal", "startlokalefussnoten", "startmakeup", "startmarginalblock", "startmarginallinie", "startmarginblock", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositionieren", "startpositioning", "startpostponing", "startprodukt", "startprofil", "startprofile", "startprojekt", "startraster", "startregister", "startspalten", "startsymbolset", "startsynchronisation", "startsynchronization", "starttabelle", "starttabellen", "starttable", "starttables", "starttabulate", "starttext", "starttextlinie", "starttyping", "startueberblick", "startumbruch", "startumgebung", "startunpacked", "startversion", "startzeile", "startzeilen", "startzeilenkorrektur", "startzeilennumerierung", "startzitat", "stelleabsaetzeein", "stelleabsatznummerierungein", "stelleabschnittein", "stelleabschnittsblockein", "stelleanordnenein", "stelleaufzaehlungenein", "stelleausgabeein", "stelleausrichtungein", "stelleausschnittein", "stellebeschreibungein", "stellebeschriftungein", "stellebilderunterschriftein", "stellebildunterschriftein", "stellebindestrichein", "stelleblankoein", "stelleblockein", "stelledrehenein", "stelleduennerumrissein", "stelleeinziehenein", "stelleengerein", "stelleexterneabbildungenein", "stellefarbeein", "stellefarbenein", "stellefeldein", "stellefelderin", "stellefliesstextein", "stellefliesstextumgebungein", "stelleformelnein", "stellefussnotendefinitionein", "stellefussnotenein", "stellefusszeileein", "stellefusszeilentextein", "stellegefuelltesrechteckein", "stellegefuelltezeileein", "stellegegenueberplatzierenein", "stellegleitobjekteein", "stellegleitobjektein", "stellehintergruendeein", "stellehintergrundein", "stelleinmarginalieein", "stelleinteraktionein", "stelleinteraktionsbalkenein", "stelleinteraktionsbildschirmein", "stelleinteraktionsmenueein", "stelleknopfein", "stellekombinationein", "stellekommentarein", "stellekopfzahlein", "stellekopfzeileein", "stellekopfzeilentextein", "stellelabeltextein", "stellelayoutein", "stellelegendeein", "stellelinienbreiteein", "stellelisteein", "stellemarginalblockein", "stellemarginallinieein", "stellenobenein", "stellenummerierungein", "stellepaletteein", "stellepapierformatein", "stelleplatziegeteiltegleitobjekt", "stellepositionierenein", "stellepostenein", "stelleprofilein", "stelleprogrammein", "stellepublikationein", "stellepufferein", "stellerasterein", "stellerechteckein", "stellereferenzierenein", "stellereferenzlisteein", "stelleregisterein", "stelleseitenkommentarein", "stelleseitennummerein", "stelleseitennummeriernungein", "stelleseitenuebergangein", "stellesortierenein", "stellespaltenein", "stellespatiumein", "stellespracheein", "stellesymbolsetein", "stellesynchronisationein", "stellesynchronisationsbalkenein", "stellesynonymein", "stellesystemein", "stelletabein", "stelletabellenein", "stelletabulatorein", "stelletextein", "stelletextobenein", "stelletexttexteein", "stelletextumrissein", "stelletextuntenein", "stelletipein", "stelletippenein", "stelletoleranzein", "stelleueberschriftein", "stelleueberschriftenein", "stelleueberschrifttextein", "stelleumbruchein", "stelleumrahmtein", "stelleumrahmtetexteein", "stelleuntenein", "stelleunterseitennummerein", "stelleunterstreichenein", "stelleurlein", "stelleversalienein", "stelleversionein", "stellezeilenabstandein", "stellezeilenein", "stellezeilennumerierungein", "stellezitierenein", "stellezusammengestelltelisteein", "stellezwischenraumein", "stopalignment", "stopausrichtung", "stopbuffer", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopdokument", "stopenger", "stopenumeration", "stopfarbe", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgeg", "stopgegenueber", "stopglobal", "stopgrosserdurchschuss", "stophiding", "stophintergrund", "stopinteraktionsmenue", "stopitemgroup", "stopkleinerdurchschuss", "stopkodierung", "stopkombination", "stopkomponente", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokal", "stoplokalefussnoten", "stopmakeup", "stopmarginalblock", "stopmarginallinie", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositionieren", "stoppositioning", "stoppostponing", "stopprodukt", "stopprofil", "stopprofile", "stopprojekt", "stopraster", "stopspalten", "stopsymbolset", "stopsynchronisation", "stopsynchronization", "stoptabelle", "stoptabellen", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptextlinie", "stoptyping", "stopueberblick", "stopumbruch", "stopumgebung", "stopunpacked", "stopversion", "stopzeile", "stopzeilen", "stopzeilenkorrektur", "stopzeilennumerierung", "stopzitat", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtorawfont", "sym", "symbol", "synchronisationsbalken", "synchronisieren", "synonym", "tab", "teilegleitobjekt", "testcolumn", "testpage", "tex", "textbreite", "texthoehe", "textlinie", "textreferenz", "textvariable", "tief", "tiho", "tip", "tippedatei", "tippen", "tippepuffer", "title", "tooltip", "txt", "ueber", "ueberschrifttext", "uebersetzten", "umgebung", "umrahmt", "unbekant", "underbar", "underbars", "unterformelnummer", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "verbergebloecke", "vergleichefarbengruppe", "vergleichepalette", "verknuepfebeschriftung", "verknuepfedokument", "verknuepfregister", "version", "verweis", "verweisdatum", "verwendeJSscript", "verwendeURL", "verwendebefehl", "verwendebloecke", "verwendeexteresdokument", "verwendeexterneabbildung", "verwendeexternedatei", "verwendeexternedateien", "verwendeexternestonstueck", "verwendemodul", "verwendemodule", "verwendereferenzen", "verwendesymbole", "verwendeurl", "vl", "volleswort", "von", "waehlebloeckeaus", "waehlepapieraus", "waehleversionaus", "wechselezumfliesstext", "wiederholen", "wochentag", "wohnort", "wortrechts", "zeigedruck", "zeigeeinstellungen", "zeigeexterneabbildungen", "zeigefarbe", "zeigefarbengruppe", "zeigefelder", "zeigefliesstext", "zeigefliesstextumgebung", "zeigegitter", "zeigelayout", "zeigepalette", "zeigerahmen", "zeigestruts", "zeigeumbruch", "zentriert", "ziffern", "zitat", "zitieren", "zu", "zurbox", "zurseite", "zwischenraum" }, + ["en"]={ "CAP", "Cap", "Caps", "Character", "Characters", "MONTH", "Numbers", "Romannumerals", "WEEKDAY", "WORD", "WORDS", "Word", "Words", "about", "adaptlayout", "adding", "appendix", "arg", "at", "atleftmargin", "atpage", "atrightmargin", "background", "backspace", "blackrule", "blackrules", "blank", "bookmark", "bottomdistance", "bottomheight", "bottomspace", "but", "button", "bypassblocks", "cap", "chapter", "character", "characters", "chem", "clip", "clonefield", "color", "colorbar", "colorvalue", "column", "comment", "comparecolorgroup", "comparepalet", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "component", "convertnumber", "copyfield", "correctwhitespace", "coupledocument", "coupledregister", "couplemarking", "couplepage", "couplepaper", "coupleregister", "crlf", "currentdate", "currentheadnumber", "cutspace", "date", "decouplemarking", "decrementnumber", "define", "defineaccent", "defineblank", "defineblock", "definebodyfont", "definebodyfontDEF", "definebodyfontREF", "definebodyfontenvironment", "definebuffer", "definecharacter", "definecolor", "definecolorgroup", "definecolumnbreak", "definecolumnset", "definecombination", "definecombinedlist", "definecommand", "defineconversion", "definedescription", "definedfont", "defineenumeration", "definefield", "definefieldstack", "definefiguresymbol", "definefloat", "definefont", "definefontfeature", "definefonthandling", "definefontstyle", "definefontsynonym", "defineframed", "defineframedtext", "definehbox", "definehead", "defineindentedtext", "defineinmargin", "defineinteractionmenu", "defineitemgroup", "definelabel", "definelayer", "definelayout", "definelist", "definelogo", "definemainfield", "definemakeup", "definemarking", "definemathalignment", "defineoutput", "defineoverlay", "definepagebreak", "definepalet", "definepapersize", "defineparagraphs", "defineplacement", "defineprofile", "defineprogram", "definerawfont", "definereference", "definereferenceformat", "definereferencelist", "defineregister", "definerule", "definesection", "definesectionblock", "definesorting", "definestartstop", "definestyle", "definesubfield", "definesymbol", "definesynonyms", "definetabletemplate", "definetabulate", "definetext", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definetyping", "defineversion", "description", "determineheadnumber", "determinelistcharacteristics", "determineregistercharacteristics", "dimension", "disableinteractionmenu", "domicile", "donttest", "edgedistance", "edgewidth", "emptylines", "enumeration", "environment", "externalfigure", "fact", "field", "fieldstack", "fillinfield", "fillinline", "fillinrules", "fillintext", "fitfield", "fixedspace", "fixedspaces", "followprofile", "followprofileversion", "followversion", "footerdistance", "footerheight", "footnote", "footnotetext", "forceblocks", "formulanumber", "fraction", "framed", "framedtext", "from", "getbuffer", "getmarking", "getnumber", "godown", "goto", "gotobox", "gotopage", "graycolor", "greyvalue", "grid", "hairline", "head", "headerdistance", "headerheight", "headlevel", "headnumber", "headsym", "headtext", "hideblocks", "high", "hl", "immediatebetweenlist", "immediatetolist", "in", "incrementnumber", "indentation", "indenting", "inframed", "infull", "ininner", "inleft", "inleftedge", "inleftmargin", "inline", "inmaframed", "inmargin", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inothermargin", "inouter", "inright", "inrightedge", "inrightmargin", "installlanguage", "interactionbar", "interactionbuttons", "interactionmenu", "item", "items", "its", "keepblocks", "label", "labeling", "labels", "labeltext", "language", "leftaligned", "leftedgedistance", "leftedgewidth", "leftmargindistance", "leftmarginwidth", "leg", "linethickness", "listheight", "listlength", "listsymbol", "listwidth", "loadsorts", "loadsynonyms", "logfields", "lohi", "low", "maframed", "mainlanguage", "makeupheight", "makeupwidth", "mapfontsize", "mar", "margindistance", "marginrule", "margintext", "margintitle", "marginwidth", "marginword", "marking", "markversion", "mathematics", "mediaeval", "menubutton", "midaligned", "mirror", "month", "moveformula", "moveongrid", "movesidefloat", "name", "navigating", "nextsection", "nocap", "nodimension", "noheaderandfooterlines", "noindenting", "nolist", "nomarking", "nomoreblocks", "nomorefiles", "nop", "nospace", "note", "notopandbottomlines", "nowhitespace", "numberofsubpages", "numbers", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "packed", "page", "pagedepth", "pagenumber", "pageoffset", "pagereference", "paperheight", "paperwidth", "paragraph", "part", "periods", "placebookmarks", "placecombinedlist", "placefloat", "placefootnotes", "placeformula", "placeheadnumber", "placeheadtext", "placelegend", "placelist", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placelocalfootnotes", "placelogos", "placeongrid", "placeontopofeachother", "placepagenumber", "placerawlist", "placereferencelist", "placeregister", "placerule", "placesidebyside", "placesubformula", "placetextvariable", "position", "positiontext", "printpaperheight", "printpaperwidth", "processblocks", "processpage", "product", "program", "project", "publication", "quotation", "quote", "ran", "redo", "ref", "reference", "referral", "referraldate", "referring", "register", "remark", "reservefloat", "reset", "resetmarking", "resetnumber", "resettextcontent", "rightaligned", "rightedgedistance", "rightedgewidth", "rightmargindistance", "rightmarginwidth", "romannumerals", "rotate", "scale", "screen", "section", "seeregister", "selectblocks", "selectpaper", "selectversion", "setnumber", "settextcontent", "settextvariable", "setupalign", "setupanswerarea", "setuparranging", "setupbackground", "setupbackgrounds", "setupblackrules", "setupblank", "setupblock", "setupbodyfont", "setupbodyfontenvironment", "setupbottom", "setupbottomtexts", "setupbuffer", "setupbuttons", "setupcapitals", "setupcaption", "setupcaptions", "setupclipping", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupcombinations", "setupcombinedlist", "setupcomment", "setupdescriptions", "setupenumerations", "setupexternalfigures", "setupfield", "setupfields", "setupfillinlines", "setupfillinrules", "setupfloat", "setupfloats", "setupfloatsplitting", "setupfonthandling", "setupfontsynonym", "setupfooter", "setupfootertexts", "setupfootnotedefinition", "setupfootnotes", "setupforms", "setupformulae", "setupframed", "setupframedtexts", "setuphead", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupinmargin", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupinterlinespace2", "setupitemgroup", "setupitemizations", "setupitems", "setuplabeltext", "setuplanguage", "setuplayout", "setuplegend", "setuplinenumbering", "setuplines", "setuplinewidth", "setuplist", "setuplistalternative", "setupmakeup", "setupmarginblocks", "setupmarginrules", "setupmarking", "setupmathalignment", "setupnarrower", "setupnumber", "setupnumbering", "setupoppositeplacing", "setupoutput", "setuppagecomment", "setuppagenumber", "setuppagenumbering", "setuppagetransitions", "setuppalet", "setuppaper", "setuppapersize", "setupparagraphnumbering", "setupparagraphs", "setupplacement", "setuppositioning", "setupprofiles", "setupprograms", "setuppublications", "setupquote", "setupreferencelist", "setupreferencing", "setupregister", "setuprotate", "setuprule", "setups", "setupscreens", "setupsection", "setupsectionblock", "setupsorting", "setupspacing", "setupstartstop", "setupstrut", "setupsubpagenumber", "setupsymbolset", "setupsynchronization", "setupsynchronizationbar", "setupsynonyms", "setupsystem", "setuptab", "setuptables", "setuptabulate", "setuptext", "setuptextposition", "setuptextrules", "setuptexttexts", "setuptextvariable", "setupthinrules", "setuptolerance", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunderbar", "setupurl", "setupversions", "setupwhitespace", "showbodyfont", "showbodyfontenvironment", "showcolor", "showcolorgroup", "showexternalfigures", "showfields", "showframe", "showgrid", "showlayout", "showmakeup", "showpalet", "showprint", "showsetups", "showstruts", "showsymbolset", "someline", "somewhere", "sort", "space", "splitfloat", "startalignment", "startbackground", "startbuffer", "startcoding", "startcolor", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startcomponent", "startdescription", "startdocument", "startenumeration", "startenvironment", "startfact", "startfigure", "startfloattext", "startformula", "startframedtext", "startglobal", "starthiding", "startinteractionmenu", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmarginrule", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startpacked", "startparagraph", "startpositioning", "startpostponing", "startproduct", "startprofile", "startproject", "startquotation", "startraster", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttext", "starttextrule", "starttyping", "startunpacked", "startversion", "stopalignment", "stopbackground", "stopbuffer", "stopcoding", "stopcolor", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopcomponent", "stopdescription", "stopdocument", "stopenumeration", "stopenvironment", "stopfact", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopglobal", "stophiding", "stopinteractionmenu", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stoppacked", "stopparagraph", "stoppositioning", "stoppostponing", "stopproduct", "stopprofile", "stopproject", "stopquotation", "stopraster", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptextrule", "stoptyping", "stopunpacked", "stopversion", "stretched", "sub", "subformulanumber", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtobodyfont", "switchtorawfont", "sym", "symbol", "symoffset", "synchronizationbar", "synchronize", "synonym", "tab", "testcolumn", "testpage", "tex", "textheight", "textreference", "textrule", "textvariable", "textwidth", "thinrule", "thinrules", "title", "tooltip", "topdistance", "topheight", "topspace", "totalnumberofpages", "translate", "txt", "typ", "type", "typebuffer", "typefile", "underbar", "underbars", "unitmeaning", "unknown", "useJSscripts", "useURL", "useXMLfilter", "useblocks", "usecommands", "usedirectory", "useencoding", "useexternaldocument", "useexternalfigure", "useexternalfile", "useexternalfiles", "useexternalsoundtrack", "usemodule", "usemodules", "usereferences", "usespecials", "usesymbols", "usetypescript", "usetypescriptfile", "useurl", "version", "vl", "weekday", "whitespace", "wordright", "writebetweenlist", "writetolist", "writetoreferencelist", "writetoregister" }, + ["fr"]={ "CAP", "Cap", "Caps", "Caractere", "Caracteres", "Chiffresromains", "JOURSEMAINE", "MOIS", "MOT", "MOTS", "Mot", "Mots", "Numeros", "a", "adaptedisposition", "affectenumero", "affectevariabletexte", "ajustechamp", "alaligne", "alapage", "aligneadroite", "aligneagauche", "aligneaumilieu", "appendix", "arg", "arriereplan", "atleftmargin", "atrightmargin", "baha", "barrecouleur", "barreinteraction", "barresynchronisation", "bas", "bouton", "boutonmenu", "boutonsinteraction", "but", "cacheblocs", "cap", "caractere", "caracteres", "champ", "changepolicebrute", "changepolicecorps", "chapter", "chem", "chiffresromains", "citation", "citer", "clip", "clonechamp", "colonne", "comment", "commentaire", "comparegroupecouleur", "comparepalette", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completenumeropage", "completeregistre", "composant", "composeenalinea", "concernant", "convertitnumero", "copitchamp", "corrigeespaceblanc", "couleur", "couleurgrise", "coupledocument", "coupledregister", "couplemarquage", "couplepapier", "coupleregistre", "crlf", "cutspace", "dactylographier", "dans", "dansautremarge", "dansborddroit", "dansbordgauche", "dansdroite", "dansgauche", "dansmarge", "dansmargedroite", "dansmargegauche", "date", "datecourante", "daterecommandation", "de", "decouplemarquage", "decrementenumero", "definebodyfontDEF", "definebodyfontREF", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineframed", "defineframedtext", "defineindentedtext", "defineitemgroup", "definemathalignment", "defineplacement", "definetypeface", "definicaractere", "definit", "definitaccent", "definitbloc", "definitblocsection", "definitbuffer", "definitcalque", "definitchamp", "definitchampprincipal", "definitcommande", "definitconversion", "definitcouleur", "definitdactylo", "definitdansmarge", "definitdemarrestoppe", "definitdescription", "definitdisposition", "definitenumeration", "definitenvironnementpolicecorps", "definitetiquette", "definitflottant", "definitformatreference", "definitgroupecouleur", "definithbox", "definitjeucolonne", "definitliste", "definitlisteimbriquee", "definitlistereference", "definitlogo", "definitmakeup", "definitmarquage", "definitmenuinteraction", "definitnotepdp", "definitpalette", "definitparagraphes", "definitpilechamp", "definitpolice", "definitpolicebrute", "definitpolicecorps", "definitpositiontexte", "definitprofil", "definitprogramme", "definitreference", "definitregistre", "definitregle", "definitrevetement", "definitsautdecolonne", "definitsautdepage", "definitsection", "definitsortie", "definitsouschamp", "definitstyle", "definitstylepolice", "definitsymbole", "definitsymbolefigure", "definitsynonymepolice", "definitsynonymes", "definittabulation", "definittaillepapier", "definittete", "definittexte", "definittrametableau", "definittri", "definittype", "definitvariabletexte", "definitversion", "definitvide", "demarrealignement", "demarrearriereplan", "demarreblocmarge", "demarrecitation", "demarreciter", "demarrecodage", "demarrecolonnes", "demarrecombinaison", "demarrecompoetroite", "demarrecomposant", "demarrecorrectionligne", "demarrecouleur", "demarredegroupe", "demarredocument", "demarreenvironement", "demarrefigure", "demarreglobal", "demarregroupe", "demarrejeucolonne", "demarrejeusymboles", "demarreligne", "demarreligneregleetexte", "demarrelignes", "demarrelocal", "demarremakeup", "demarremargereglee", "demarrenotespdplocales", "demarrenumerotationligne", "demarreopposition", "demarrepositionnement", "demarreproduit", "demarreprofil", "demarreprojet", "demarreraster", "demarrerevetement", "demarresynchronisation", "demarretableau", "demarretableaux", "demarretexte", "demarreversion", "demarrevuedensemble", "deplaceformule", "deplacesurgrille", "description", "determinecaracteristiqueliste", "determinecaracteristiquesregistre", "determinenumerotete", "dimension", "distancebord", "distanceborddroit", "distancebordgauche", "distanceentete", "distanceinf", "distancemarge", "distancemargedroite", "distancemargegauche", "distancepdp", "distancesup", "domicile", "echelle", "ecran", "ecritdansliste", "ecritdanslistereference", "ecritentreliste", "ecritregistre", "el", "element", "elements", "emptylines", "enumeration", "environement", "espace", "espaceblanc", "espacefixe", "espaceinf", "espacesfixes", "espacesup", "etiquette", "etiquettes", "etire", "fait", "faitreference", "fichierdactylo", "figureexterne", "forceblocs", "fraction", "framed", "framedtext", "gardeblocs", "getnumber", "grille", "groupe", "haut", "hauteureditionpapier", "hauteurentete", "hauteurinf", "hauteurliste", "hauteurmakeup", "hauteurpapier", "hauteurpdp", "hauteursup", "hauteurtexte", "headsym", "hl", "immediatebetweenlist", "immediatetolist", "inconnu", "incrementenumero", "indentation", "inframed", "infull", "inhibemenuinteraction", "ininner", "inmframed", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "installelangue", "joursemaine", "labeling", "labeltexte", "langue", "langueprincipale", "largeurbord", "largeurborddroit", "largeurbordgauche", "largeureditionpapier", "largeurligne", "largeurliste", "largeurmakeup", "largeurmarge", "largeurmargedroite", "largeurmargegauche", "largeurpapier", "largeurtexte", "leg", "ligneh", "lignenoire", "ligneregleetexte", "lignesnoires", "listesymbole", "llongueurliste", "loadsorts", "loadsynonyms", "logchamp", "mapfontsize", "mar", "margereglee", "marquage", "marquageversion", "marquepage", "mathematique", "mediaeval", "menuinteraction", "mframed", "mois", "montrecadre", "montrechamps", "montrecouleur", "montredisposition", "montreedition", "montreenvironnementpolicecorps", "montrefiguresexternes", "montregrille", "montregroupecouleur", "montrejeusymboles", "montremakeup", "montrepalette", "montrepolicecorps", "montrereglages", "montrestruts", "motdroit", "motmarge", "movesidefloat", "name", "navigating", "nextsection", "niveautete", "nocap", "nombredesouspages", "nombretotaldepages", "nommacro", "nop", "note", "notepdp", "numeroformule", "numeropage", "numeros", "numerosousformule", "numerotete", "numerotetecourant", "obtientmarquage", "oriente", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "page", "pagedepth", "pagedouble", "pageoffset", "paragraph", "part", "pasplusdeblocs", "pasplusdefichiers", "periodes", "pilechamp", "placecoteacote", "placeflottant", "placeformule", "placelegende", "placelesunsaudessusdesautres", "placeliste", "placelisteinmbriquee", "placelistereference", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placelogos", "placemarquespages", "placenotespdp", "placenotespdplocales", "placenumeropage", "placenumerotete", "placerawlist", "placeregistre", "placeregle", "placesousformule", "placesurgrille", "placetextetete", "placevariabletexte", "position", "positionnetexte", "prendbuffer", "produit", "programme", "projet", "publication", "qqpart", "ran", "raz", "razmarquage", "raznumero", "recommandation", "ref", "refait", "reference", "referencepage", "referencetexte", "reflete", "register", "reglages", "reglealignement", "reglearrangement", "reglearriereplan", "reglearriereplans", "reglebarreinteraction", "reglebarresynchronisation", "reglebloc", "regleblocmarge", "regleblocsection", "regleboutons", "reglebuffer", "reglecapitales", "reglechamp", "reglechamps", "regleclipping", "reglecolonnes", "reglecombinaisons", "reglecommentaire", "reglecommentairepage", "reglecompoetroite", "reglecomposeenalinea", "reglecouleur", "reglecouleurs", "regledactylo", "regledansmarge", "regledemarrestoppe", "regledescriptions", "regledisposition", "regleecraninteraction", "regleecrans", "regleelements", "regleencadre", "regleentete", "regleenumerations", "regleenvironnementpolicecorps", "regleepaisseurligne", "regleespaceblanc", "regleespacement", "regleespacementinterligne", "reglefiguresexternes", "regleflottant", "regleflottants", "regleformulaires", "regleformules", "reglegroupeselements", "regleinf", "regleinteraction", "regleintitule", "regleintitules", "reglejeucolonne", "reglejeusymboles", "reglelabeltexte", "reglelangue", "reglelegende", "reglelignes", "reglelignesnoires", "reglelignesreglestexte", "regleliste", "reglelisteimbriquee", "reglelistereference", "reglemakeup", "reglemargereglee", "reglemarquage", "reglemarquagehyphenation", "reglemenuinteraction", "reglenotepdp", "reglenumero", "reglenumeropage", "reglenumerotation", "reglenumerotationligne", "reglenumerotationpage", "reglenumerotationparagraphe", "reglenumerotete", "regleoriente", "reglepalette", "reglepapier", "regleparagraphes", "reglepdp", "regleplacementopposition", "reglepolicecorps", "reglepositionnement", "reglepositiontexte", "regleprofils", "regleprogrammes", "reglepublications", "reglereferencage", "regleregistre", "regleregle", "regleremplitligne", "regleremplitlignesreglees", "reglesection", "regleseparationflottant", "reglesortie", "reglesouslignage", "reglesousnumeropage", "reglestrut", "reglesup", "reglesynchronisation", "reglesynonymes", "reglesysteme", "regletab", "regletableaux", "regletabulation", "regletaillepapier", "regletete", "regletetes", "regletexte", "regletextesentete", "regletextesinf", "regletextespdp", "regletextessup", "regletextestexte", "regletextetete", "regletolerance", "regletraitsfins", "regletransitionspage", "regletri", "regletype", "regleurl", "reglevariabletexte", "regleversions", "remplitchamp", "remplitligne", "remplitlignesreglees", "remplittexte", "reservefloat", "resettextcontent", "retourarriere", "sansalinea", "sansdimension", "sansespace", "sansespaceblanc", "sanslignesenteteetpdp", "sanslignessupetinf", "sansliste", "sansmarquage", "sanstest", "sauteblocs", "section", "seeregister", "selectionneblocs", "selectionnepapier", "selectionneversion", "sensunite", "separeflottant", "settext", "setupanswerarea", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupframedtexts", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupplacement", "sort", "sousnumeropage", "startalignment", "startarriereplan", "startbuffer", "startcitation", "startcolumnmakeup", "startcolumns", "startcombination", "startcomment", "startcomposant", "startcouleur", "startdescription", "startdocument", "startenumeration", "startenvironement", "startfait", "startfigure", "startfloattext", "startformula", "startframedtext", "startgroupe", "starthiding", "startitemgroup", "startlegend", "startligneregleetexte", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmargereglee", "startmarginblock", "startmenuinteraction", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startproduit", "startprofile", "startprojet", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startversion", "stopalignment", "stoparriereplan", "stopbuffer", "stopcitation", "stopcolumnmakeup", "stopcolumns", "stopcombination", "stopcomment", "stopcompoetroite", "stopcomposant", "stopcouleur", "stopdescription", "stopdocument", "stopenumeration", "stopenvironement", "stopfait", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgroupe", "stophiding", "stopitemgroup", "stoplegend", "stopligneregleetexte", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmargereglee", "stopmarginblock", "stopmenuinteraction", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppealignement", "stoppearriereplan", "stoppeblocmarge", "stoppecitation", "stoppecodage", "stoppecolonnes", "stoppecombinaison", "stoppecomposant", "stoppecorrectionligne", "stoppecouleur", "stoppedegroupe", "stoppedocument", "stoppeenvironement", "stoppeglobal", "stoppegroupe", "stoppejeucolonne", "stoppeligne", "stoppeligneregleetexte", "stoppelignes", "stoppelocal", "stoppemakeup", "stoppemargereglee", "stoppenotespdplocales", "stoppenumerotationligne", "stoppeopposition", "stoppepositionnement", "stoppeproduit", "stoppeprofil", "stoppeprojet", "stopperaster", "stopperevetement", "stoppesynchronisation", "stoppetableau", "stoppetableaux", "stoppetexte", "stoppeversion", "stoppevuedensemble", "stoppositioning", "stoppostponing", "stopproduit", "stopprofile", "stopprojet", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopversion", "sub", "subject", "subsection", "subsubject", "subsubsection", "subsubsubject", "suggestion", "suivantprofil", "suivantversion", "suivantversionprofil", "sym", "symbole", "synchronise", "synonym", "tab", "tapebuffer", "testcolumn", "testpage", "tete", "tex", "textemarge", "textenotepdp", "textetete", "title", "titremarge", "traduire", "traiteblocs", "traitepage", "traitfin", "traitsfins", "txt", "typ", "underbar", "underbars", "uneligne", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "utiliseJSscripts", "utiliseURL", "utiliseblocs", "utilisechemin", "utilisecommandes", "utilisedocumentexterne", "utiliseencodage", "utilisefichierexterne", "utilisefichiersexternes", "utilisefigureexterne", "utilisemodule", "utilisemodules", "utilisepsiteaudioexterne", "utilisereferences", "utilisespecialites", "utilisesymboles", "utiliseurl", "va", "vaalaboite", "vaalapage", "vaenbas", "valeurcouleur", "valeurgris", "variabletexte", "version", "vide", "vl" }, + ["it"]={ "CAP", "Cap", "Caps", "GIORNOSETTIMANA", "Lettera", "Lettere", "MESE", "Numeri", "Numeriromani", "PAROLA", "PAROLE", "Parola", "Parole", "accoppiacarta", "accoppiadocumento", "accoppiamarcatura", "accoppiapagina", "accoppiaregistro", "adattacampo", "adattalayout", "al", "allineacentro", "allineadestra", "allineasinistra", "altezzacarta", "altezzacartastampa", "altezzacima", "altezzaelenco", "altezzafondo", "altezzaintestazione", "altezzamakeup", "altezzapdp", "altezzatesto", "ambiente", "ampiezzabordo", "ampiezzabordodestro", "ampiezzabordosinistro", "ampiezzacarta", "ampiezzacartastampa", "ampiezzaelenco", "ampiezzamakeup", "ampiezzamargine", "ampiezzamarginedestro", "ampiezzamarginesinistro", "ampiezzatesto", "ap", "apagina", "appendix", "arg", "atleftmargin", "atrightmargin", "barracolori", "barrainterazione", "barrasincronizzazione", "bastablocchi", "bastafile", "cambiaafontdeltesto", "campi", "camporiempimento", "cap", "capello", "chapter", "chim", "circondato", "citazione", "clip", "clonacampo", "colonna", "colore", "coloregrigio", "comment", "commento", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completeregister", "componenet", "confrontagruppocolori", "confrontatavolozza", "convertinumero", "copiacampo", "correggispaziobianco", "coupledregister", "crlf", "cutspace", "da", "daqualcheparte", "data", "datadioggi", "datareferral", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definemathalignment", "definepagebreak", "defineplacement", "definetypeface", "definisci", "definisciaccento", "definisciambientefontdeltesto", "definisciblocco", "definiscibloccosezione", "definiscibuffer", "definiscicampo", "definiscicampoprincipale", "definiscicapoversi", "definiscicarattere", "definiscicolore", "definiscicomando", "definisciconversione", "definiscidescrizione", "definiscidimensionicarta", "definiscielenco", "definiscielencocombinato", "definiscienumerazione", "definiscietichetta", "definiscifigurasimbolo", "definiscifont", "definiscifontdeltesto", "definiscifontgrezzo", "definisciformatoriferimento", "definiscigruppocolonne", "definiscigruppocolori", "definiscihbox", "definisciincorniciato", "definisciiniziatermina", "definiscilayout", "definiscilinea", "definiscilistariferimenti", "definiscilogo", "definiscimakeup", "definiscimarcatura", "definiscimenuinterazione", "definiscimodellotabella", "definiscioggettomobile", "definisciordinamento", "definiscioutput", "definisciposizionetesto", "definisciprofilo", "definisciprogramma", "definisciregistro", "definisciriferimento", "definiscirigovuoto", "definiscisezione", "definiscisimbolo", "definiscisinonimi", "definiscisinonimofont", "definiscisottocampo", "definiscisovrapposizione", "definiscistackcampi", "definiscistile", "definiscistilefont", "definiscitabulato", "definiscitavolozza", "definiscitesta", "definiscitesto", "definiscitestoincorniciato", "definiscitype", "definiscityping", "definiscivariabiletesto", "definisciversion", "description", "determinacaratteristicheregistro", "determinacarattersticheelenco", "determinanumerotesta", "dimensione", "disabilitamenuinterazione", "distanzabordo", "distanzabordodestro", "distanzabordosinistro", "distanzacima", "distanzafondo", "distanzaintestazione", "distanzamargine", "distanzamarginedestro", "distanzamarginesinistro", "distanzapdp", "domicilio", "el", "elaborablocchi", "elaborapagina", "elementi", "elemento", "emptylines", "enumeration", "etichetta", "etichette", "fatto", "figuraesterna", "fondo", "forzablocchi", "framedtext", "frazione", "getnumber", "giornosettimana", "griglia", "headsym", "hl", "ignoto", "immediatebetweenlist", "immediatetolist", "impaccato", "impostaallineamento", "impostaambientefontdeltesto", "impostaampiezzariga", "impostabarrainterazione", "impostabarrasincronizzazione", "impostablocchimargine", "impostablocco", "impostabloccosezione", "impostabuffer", "impostacampi", "impostacampo", "impostacapoversi", "impostacaption", "impostacaptions", "impostacima", "impostaclippling", "impostacolonne", "impostacolore", "impostacolori", "impostacombinazioni", "impostacommento", "impostacommentopagina", "impostadefinizionenotepdp", "impostadescrizioni", "impostadimensionicarta", "impostaelementi", "impostaelencazioni", "impostaelenco", "impostaelencocombinato", "impostaenumerazioni", "impostafigureesterne", "impostafondo", "impostafontdeltesto", "impostaforms", "impostaformule", "impostagruppocolonne", "impostaincorniciato", "impostainiziatermina", "impostainmargine", "impostainstestazione", "impostainterazione", "impostainterlinea", "impostalayout", "impostalegenda", "impostalinea", "impostalineemargine", "impostalineenere", "impostalineeriempimento", "impostalineesottili", "impostalineetesto", "impostalingua", "impostalistariferimenti", "impostamaiuscole", "impostamakeup", "impostamarcatura", "impostamenuinterazione", "impostamenzione", "impostanotepdp", "impostanumerazione", "impostanumerazionecapoversi", "impostanumerazionepagina", "impostanumerazionerighe", "impostanumeropagina", "impostanumerosottopagina", "impostanumerotesta", "impostaoggettimobili", "impostaoggettomobile", "impostaordinamento", "impostaoutput", "impostaparranging", "impostapdp", "impostapiustretto", "impostaposizionamento", "impostaposizionamentoopposti", "impostaposizionetesto", "impostaprofili", "impostaprogrammi", "impostapubblicazioni", "impostapulsanti", "impostaregistro", "impostarientro", "impostariferimento", "impostarighe", "impostarigheriempimento", "impostarigovuoto", "impostarotazione", "impostaschermi", "impostaschermointerazione", "impostasegnosillabazione", "impostasetsimboli", "impostasezione", "impostasfondi", "impostasfondo", "impostasincronizzazione", "impostasinonimi", "impostasistema", "impostasottolinea", "impostaspaziatura", "impostaspaziobianco", "impostaspezzamentooggettomobile", "impostastrut", "impostatab", "impostatabelle", "impostatabulato", "impostatavolozza", "impostatesta", "impostateste", "impostatesticima", "impostatestifondo", "impostatestiincorniciati", "impostatestiintestazioni", "impostatestipdp", "impostatesto", "impostatestoetichette", "impostatestointestazioni", "impostatestotesti", "impostatolleranza", "impostatransizionepagina", "impostatype", "impostatyping", "impostaurl", "impostavariabiletesto", "impostaversioni", "impostazioni", "in", "inaltromargine", "incorniciato", "incrementanumero", "indentation", "indestra", "ininner", "iniziaallineamento", "iniziaambiente", "iniziabloccomargine", "iniziacitazione", "iniziacodifica", "iniziacolonne", "iniziacolore", "iniziacombinazione", "iniziacomponente", "iniziacorrezioneriga", "iniziadocumento", "iniziafigura", "iniziaglobale", "iniziagruppocolonne", "iniziaimpaccato", "inizialineamargine", "inizialineatesto", "inizialocale", "iniziamakeup", "inizianotepdplocali", "inizianumerazionerighe", "iniziaopposto", "iniziaoverview", "iniziapiustretto", "iniziaposizionamento", "iniziaprodotto", "iniziaprofilo", "iniziaprogetto", "iniziaraster", "iniziariga", "iniziarighe", "iniziasetsimboli", "iniziasfondo", "iniziasincronizzazione", "iniziasovrapposizione", "iniziatabella", "iniziatabelle", "iniziatesto", "iniziaunpacked", "iniziaversione", "inlatodestro", "inlatosinistro", "inmaframed", "inmargine", "inmarginedestro", "inmarginesinistro", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inriga", "insinistra", "installalingua", "intorno", "labeling", "leg", "lettera", "lettere", "lineamargine", "lineanera", "lineasottile", "lineatesto", "lineenere", "lineeriempimento", "lineesottili", "lingua", "linguaprincipale", "listsymbol", "livellotesta", "loadsorts", "loadsynonyms", "logcampi", "lunghezzaelenco", "maframed", "mapfontsize", "mar", "marcatura", "marcaversione", "matematica", "mediaeval", "menuinterattivo", "menzione", "mese", "mettielenco", "mettielencocombinato", "mettifiancoafianco", "mettiformula", "mettiingriglia", "mettilegenda", "mettilinea", "mettiloghi", "mettinotepdp", "mettinotepdplocali", "mettinumeropagina", "mettiregistro", "mettisegnalibro", "mettisottoformula", "mettiunosullaltro", "mettivariabiletesto", "mostraambientefontdeltesto", "mostracampi", "mostracolore", "mostracornice", "mostrafiguresterne", "mostrafontdeltesto", "mostragriglia", "mostragruppocolori", "mostraimpostazioni", "mostralyout", "mostramakeup", "mostrasetsimboli", "mostrastampa", "mostrastruts", "mostratavolozza", "movesidefloat", "name", "nascondiblocchi", "navigating", "nextsection", "nientedimensioni", "nienteelenco", "nientelineecimafondo", "nientelineintestazionepdp", "nientemarcatura", "nienterientro", "nientespazio", "nientespaziobianco", "nocap", "nome", "nomeunita", "nop", "nota", "notapdp", "notest", "numberofsubpages", "numeri", "numeriromani", "numeroformula", "numeropagina", "numeropaginacompleto", "numerosottoformula", "numerotesta", "numerotestacorrente", "numerototaledipagine", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "pagina", "paragraph", "paroladestra", "parolainmargine", "part", "passaafontgrezzo", "ped", "pedap", "perlungo", "placefloat", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placerawlist", "placereferencelist", "posizionanumerotesta", "posizionatesto", "posizionatestotesta", "posizione", "prendibuffer", "prendimarcatura", "prodotto", "progetto", "programma", "pubblicazione", "pulsante", "pulsantemenu", "pulsantinterazione", "punti", "qualcheriga", "ran", "referral", "referring", "register", "reimposta", "reimpostamarcatura", "reservefloat", "resetnumber", "resettextcontent", "rientro", "rif", "rifai", "riferimento", "riferimentopagina", "riferimentotesto", "riflessione", "rigariempimento", "rigovuoto", "ruota", "saltablocchi", "scala", "schermo", "scrividentroelenco", "scriviinelenco", "scriviinlistariferimenti", "scriviinregistro", "section", "seeregister", "segnalibro", "seguiprofilo", "seguiversione", "seguiversioneprofilo", "selezionablocchi", "selezionacarta", "selezionaversione", "separamarcatura", "setnumber", "settext", "setupanswerarea", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setuppaper", "setupplacement", "setvariabiletesto", "sfondo", "sim", "simbolo", "sincronizza", "sort", "spazifissi", "spazio", "spaziobianco", "spaziocima", "spaziodietro", "spaziofisso", "spaziofondo", "spessoreriga", "spezzaoggettomobile", "spostaagriglia", "spostaformula", "stackcampi", "startalignment", "startambiente", "startbuffer", "startcitazione", "startcolore", "startcolumnmakeup", "startcolumns", "startcombination", "startcomment", "startcomponenet", "startdescription", "startdocument", "startenumeration", "startfatto", "startfigure", "startfloattext", "startformula", "startframedtext", "starthiding", "startimpaccato", "startitemgroup", "startlegend", "startline", "startlineamargine", "startlineatesto", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmenuinterattivo", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startprodotto", "startprofile", "startprogetto", "startregister", "startsfondo", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startversione", "stirato", "stopalignment", "stopambiente", "stopbuffer", "stopcitazione", "stopcolore", "stopcolumnmakeup", "stopcolumns", "stopcombination", "stopcomment", "stopcomponenet", "stopdescription", "stopdocument", "stopenumeration", "stopfatto", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stophiding", "stopimpaccato", "stopitemgroup", "stoplegend", "stopline", "stoplineamargine", "stoplineatesto", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmenuinterattivo", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stopprodotto", "stopprofile", "stopprogetto", "stopsfondo", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopversione", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "tab", "terminaallineamento", "terminaambiente", "terminabloccomargine", "terminacitazione", "terminacodifica", "terminacolonne", "terminacolore", "terminacombinazione", "terminacomponente", "terminacorrezioneriga", "terminadocumento", "terminaglobale", "terminagruppocolonne", "terminaimpaccato", "terminalineamargine", "terminalineatesto", "terminalocale", "terminamakeup", "terminanotepdplocali", "terminanumerazionerighe", "terminaopposto", "terminaoverview", "terminapiustretto", "terminaposizionamento", "terminaprodotto", "terminaprofili", "terminaprogetto", "terminaraster", "terminariga", "terminarighe", "terminasfondo", "terminasincronizzazione", "terminasovrapposizione", "terminatabella", "terminatabelle", "terminatesto", "terminaunpacked", "terminaversioni", "testa", "testcolumn", "testoetichetta", "testoinmargine", "testoinstestazioni", "testonotapdp", "testoriempimento", "testpage", "tex", "tieniblocchi", "title", "titoloinmargine", "tooltip", "traduci", "txt", "typ", "type", "typebuffer", "typefile", "underbar", "underbars", "usaJSscripts", "usaURL", "usablocco", "usacartella", "usacodifica", "usacolonnasonoraesterna", "usacomandi", "usadocumentoesterno", "usafiguraesterna", "usafileesterni", "usafileesterno", "usamoduli", "usamodulo", "usariferimenti", "usasimboli", "usaspecialita", "usaurl", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "vaia", "vaiabox", "vaiapagina", "vaigiu", "valorecolore", "valoregrigio", "variabiletesto", "versione", "vl" }, + ["nl"]={ "CAP", "Cap", "Caps", "Cijfers", "KAP", "Kap", "Kaps", "Letter", "Letters", "MAAND", "Romeins", "WEEKDAG", "WOORD", "WOORDEN", "Woord", "Woorden", "aantalsubpaginas", "about", "achtergrond", "appendix", "arg", "bepaalkopnummer", "bepaallijstkenmerken", "bepaalregisterkenmerken", "betekenis", "binnenmargeafstand", "binnenmargebreedte", "binnenrandafstand", "binnenrandbreedte", "blanko", "blokje", "blokjes", "blokkeerinteractiemenu", "bodemwit", "bookmark", "bovenafstand", "bovenhoogte", "breuk", "buitenmargeafstand", "buitenmargebreedte", "buitenrandafstand", "buitenrandbreedte", "but", "button", "cap", "chapter", "chem", "cijfers", "citaat", "citeer", "clip", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "converteernummer", "copieerveld", "corrigeerwitruimte", "coupledregister", "crlf", "datum", "definebodyfontDEF", "definebodyfontREF", "definedfont", "definefontfeature", "definefonthandling", "definerawfont", "definetypeface", "definieer", "definieeraccent", "definieeralineas", "definieerbeeldmerk", "definieerblanko", "definieerblok", "definieerbuffer", "definieercombinatie", "definieercommando", "definieerconversie", "definieerfiguursymbool", "definieerfont", "definieerfontstijl", "definieerfontsynoniem", "definieerhbox", "definieerhoofdveld", "definieeringesprongentext", "definieerinmarge", "definieerinteractiemenu", "definieeritemgroep", "definieerkadertekst", "definieerkarakter", "definieerkleur", "definieerkleurgroep", "definieerkolomgroep", "definieerkolomovergang", "definieerkop", "definieerkorps", "definieerkorpsomgeving", "definieerlayer", "definieerlayout", "definieerletter", "definieerlijn", "definieerlijst", "definieermarkering", "definieeromlijnd", "definieeropmaak", "definieeroverlay", "definieerpaginaovergang", "definieerpalet", "definieerpapierformaat", "definieerplaats", "definieerplaatsblok", "definieerprofiel", "definieerprogramma", "definieerreferentie", "definieerreferentieformaat", "definieerreferentielijst", "definieerregister", "definieersamengesteldelijst", "definieersectie", "definieersectieblok", "definieersorteren", "definieerstartstop", "definieersubveld", "definieersymbool", "definieersynoniemen", "definieertabelvorm", "definieertabulatie", "definieertekst", "definieertekstpositie", "definieertekstvariabele", "definieertype", "definieertypen", "definieeruitvoer", "definieerveld", "definieerveldstapel", "definieerversie", "definieerwiskundeuitlijnen", "description", "dimensie", "directnaarlijst", "directtussenlijst", "doordefinieren", "doorlabelen", "doornummeren", "dunnelijn", "dunnelijnen", "eenregel", "enumeration", "ergens", "externfiguur", "forceerblokken", "formulenummer", "framedtext", "gebruikJSscripts", "gebruikURL", "gebruikXMLfilter", "gebruikblokken", "gebruikcommandos", "gebruikexterndocument", "gebruikexternefile", "gebruikexternefiles", "gebruikexternfiguur", "gebruikexterngeluidsfragment", "gebruikgebied", "gebruikmodule", "gebruikmodules", "gebruikreferenties", "gebruikspecials", "gebruiksymbolen", "gebruiktypescript", "gebruiktypescriptfile", "gebruikurl", "geenblokkenmeer", "geenbovenenonderregels", "geendimensie", "geenfilesmeer", "geenhoofdenvoetregels", "geenlijst", "geenmarkering", "geenspatie", "geentest", "geenwitruimte", "geg", "grijskleur", "grijswaarde", "haalbuffer", "haalmarkering", "haalnummer", "haarlijn", "handhaafblokken", "herhaal", "hl", "hoofdafstand", "hoofdhoogte", "hoofdtaal", "hoog", "huidigedatum", "huidigekopnummer", "in", "inanderemarge", "inbinnen", "inbuiten", "indentation", "inlijnd", "inlinker", "inlinkermarge", "inlinkerrand", "inmarge", "inrechter", "inrechtermarge", "inrechterrand", "inregel", "inspringen", "installeertaal", "instellingen", "interactiebalk", "interactiebuttons", "interactiemenu", "invullijnen", "invulregel", "invultekst", "invulveld", "inwilijnd", "items", "its", "kantlijn", "kap", "kenmerk", "kenmerkdatum", "kentekstvariabeletoe", "kleur", "kleurenbalk", "kleurwaarde", "kloonveld", "kolom", "kop", "kopniveau", "kopnummer", "koppeldocument", "koppelmarkering", "koppelpagina", "koppelpapier", "koppelregister", "kopsym", "koptekst", "kopwit", "laag", "label", "labeling", "labels", "labeltekst", "laho", "leg", "legeregels", "letter", "letters", "lijndikte", "lijstbreedte", "lijsthoogte", "lijstlengte", "lijstsymbool", "linkermargeafstand", "linkermargebreedte", "linkerrandafstand", "linkerrandbreedte", "loadsorts", "loadsynonyms", "maand", "mapfontsize", "mar", "margeafstand", "margebreedte", "margetekst", "margetitel", "margewoord", "markeer", "markeerversie", "mediaeval", "menubutton", "naam", "naar", "naarbox", "naarpagina", "name", "navigerend", "nextsection", "nietinspringen", "nocap", "nokap", "noot", "nop", "omgeving", "omlaag", "omlijnd", "onbekend", "onderafstand", "onderdeel", "onderhoogte", "ontkoppelmarkering", "op", "opelkaar", "oplinkermarge", "oppagina", "oprechtermarge", "overbar", "overbars", "overstrike", "overstrikes", "pagina", "paginadiepte", "paginanummer", "paginaoffset", "paginareferentie", "papierbreedte", "papierhoogte", "paragraph", "part", "paslayoutaan", "passeerblokken", "passendveld", "plaatsbeeldmerken", "plaatsbookmarks", "plaatsformule", "plaatskopnummer", "plaatskoptekst", "plaatslegenda", "plaatslijn", "plaatslijst", "plaatslokalevoetnoten", "plaatsnaastelkaar", "plaatsonderelkaar", "plaatsopgrid", "plaatspaginanummer", "plaatsplaatsblok", "plaatsreferentielijst", "plaatsregister", "plaatsruwelijst", "plaatssamengesteldelijst", "plaatssubformule", "plaatstekstvariabele", "plaatsvoetnoten", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "positioneer", "positioneertekst", "printpapierbreedte", "printpapierhoogte", "produkt", "programma", "projekt", "publicatie", "punten", "ran", "randafstand", "randbreedte", "rechtermargeafstand", "rechtermargebreedte", "rechterrandafstand", "rechterrandbreedte", "ref", "refereer", "referentie", "regellinks", "regelmidden", "regelrechts", "register", "registreervelden", "reservefloat", "reset", "resetmarkering", "resetnummer", "resettekstinhoud", "resettextcontent", "romeins", "rooster", "roteer", "rugwit", "schaal", "scherm", "schrijfnaarlijst", "schrijfnaarreferentielijst", "schrijfnaarregister", "schrijftussenlijst", "section", "seeregister", "selecteerblokken", "selecteerpapier", "selecteerversie", "setnummer", "setupfonthandling", "setupfontsynonym", "setupinterlinespace2", "setuplistalternative", "snijwit", "som", "sort", "spatie", "spiegel", "splitsplaatsblok", "startachtergrond", "startalignment", "startbuffer", "startcitaat", "startcodering", "startcolumns", "startcombinatie", "startcombination", "startcomment", "startdescription", "startdocument", "startenumeration", "startfigure", "startfiguur", "startfloattext", "startformula", "startframedtext", "startgeg", "startglobaal", "starthiding", "startinteractiemenu", "startitemgroup", "startkantlijn", "startkleur", "startkolomgroep", "startkolommen", "startkolomopmaak", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokaal", "startlokalevoetnoten", "startmakeup", "startmargeblok", "startmarginblock", "startnaast", "startnamemakeup", "startnarrower", "startomgeving", "startonderdeel", "startopelkaar", "startopmaak", "startopposite", "startoverlay", "startoverview", "startoverzicht", "startparagraph", "startpositioneren", "startpositioning", "startpostponing", "startprodukt", "startprofiel", "startprofile", "startprojekt", "startraster", "startregel", "startregelcorrectie", "startregelnummeren", "startregels", "startregister", "startsmaller", "startsymbolset", "startsymboolset", "startsynchronisatie", "startsynchronization", "starttabel", "starttabellen", "starttable", "starttables", "starttabulate", "starttekst", "starttekstlijn", "starttyping", "startuitlijnen", "startunpacked", "startvanelkaar", "startversie", "stelachtergrondenin", "stelachtergrondin", "stelalineasin", "stelantwoordgebiedin", "stelarrangerenin", "stelblankoin", "stelblokin", "stelblokjesin", "stelblokkopjein", "stelblokkopjesin", "stelbovenin", "stelboventekstenin", "stelbufferin", "stelbuttonsin", "stelciterenin", "stelclipin", "stelcombinatiesin", "stelcommentaarin", "steldoordefinierenin", "steldoornummerenin", "steldunnelijnenin", "stelexternefigurenin", "stelformulesin", "stelformulierenin", "stelhoofdin", "stelhoofdtekstenin", "stelingesprongentextin", "stelinmargein", "stelinspringenin", "stelinteractiebalkin", "stelinteractiein", "stelinteractiemenuin", "stelinteractieschermin", "stelinterliniein", "stelinvullijnenin", "stelinvulregelsin", "stelitemgroepin", "stelitemsin", "stelkadertekstenin", "stelkantlijnin", "stelkapitalenin", "stelkleurenin", "stelkleurin", "stelkolomgroepin", "stelkolomgroepregelsin", "stelkolomgroepstartin", "stelkolommenin", "stelkopin", "stelkopnummerin", "stelkoppeltekenin", "stelkoppenin", "stelkoptekstin", "stelkorpsin", "stelkorpsomgevingin", "stellabeltekstin", "stellayoutin", "stellegendain", "stellijndiktein", "stellijnin", "stellijstin", "stelmargeblokkenin", "stelmarkeringin", "stelnaastplaatsenin", "stelnummerenin", "stelnummerin", "stelomlijndin", "stelonderin", "stelonderstrepenin", "stelondertekstenin", "stelopmaakin", "stelopsommingenin", "stelpaginacommentaarin", "stelpaginanummerin", "stelpaginanummeringin", "stelpaginaovergangenin", "stelpaletin", "stelpapierformaatin", "stelpapierin", "stelparagraafnummerenin", "stelplaatsblokin", "stelplaatsblokkenin", "stelplaatsbloksplitsenin", "stelplaatsin", "stelpositionerenin", "stelprofielenin", "stelprogrammasin", "stelpublicatiesin", "stelrastersin", "stelreferentielijstin", "stelrefererenin", "stelregelnummerenin", "stelregelsin", "stelregisterin", "stelroterenin", "stelsamengesteldelijstin", "stelsectieblokin", "stelsectiein", "stelsmallerin", "stelsorterenin", "stelspatieringin", "stelstartstopin", "stelstrutin", "stelsubpaginanummerin", "stelsymboolsetin", "stelsynchronisatiebalkin", "stelsynchronisatiein", "stelsynoniemenin", "stelsysteemin", "steltaalin", "steltabellenin", "steltabin", "steltabulatiein", "steltekstin", "steltekstinhoudin", "steltekstlijnenin", "steltekstpositiein", "stelteksttekstenin", "steltekstvariabelein", "steltolerantiein", "steltypein", "steltypenin", "steluitlijnenin", "steluitvoerin", "stelurlin", "stelveldenin", "stelveldin", "stelversiesin", "stelvoetin", "stelvoetnootdefinitiein", "stelvoetnotenin", "stelvoettekstenin", "stelwiskundeuitlijnenin", "stelwitruimtein", "stopachtergrond", "stopalignment", "stopbuffer", "stopcitaat", "stopcodering", "stopcolumns", "stopcombinatie", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopenumeration", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgeg", "stopglobaal", "stophiding", "stopinteractiemenu", "stopitemgroup", "stopkantlijn", "stopkleur", "stopkolomgroep", "stopkolommen", "stopkolomopmaak", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokaal", "stoplokalevoetnoten", "stopmakeup", "stopmargeblok", "stopmarginblock", "stopnaast", "stopnamemakeup", "stopnarrower", "stopomgeving", "stoponderdeel", "stopopelkaar", "stopopmaak", "stopopposite", "stopoverlay", "stopoverview", "stopoverzicht", "stopparagraph", "stoppositioneren", "stoppositioning", "stoppostponing", "stopprodukt", "stopprofiel", "stopprofile", "stopprojekt", "stopraster", "stopregel", "stopregelcorrectie", "stopregelnummeren", "stopregels", "stopsmaller", "stopsymbolset", "stopsynchronisatie", "stopsynchronization", "stoptabel", "stoptabellen", "stoptable", "stoptables", "stoptabulate", "stoptekst", "stoptekstlijn", "stoptyping", "stopuitlijnen", "stopunpacked", "stopvanelkaar", "stopversie", "sub", "subformulenummer", "subject", "subpaginanummer", "subsection", "subsubject", "subsubsection", "subsubsubject", "suggestie", "switchnaarkorps", "switchtorawfont", "sym", "symbool", "symoffset", "synchronisatiebalk", "synchroniseer", "synonym", "taal", "tab", "tekstbreedte", "teksthoogte", "tekstlijn", "tekstreferentie", "tekstvariabele", "testkolom", "testpagina", "tex", "title", "toelichting", "toonexternefiguren", "toongrid", "tooninstellingen", "toonkader", "toonkleur", "toonkleurgroep", "toonkorps", "toonkorpsomgeving", "toonlayout", "toonopmaak", "toonpalet", "toonprint", "toonstruts", "toonsymboolset", "toonvelden", "totaalaantalpaginas", "txt", "typ", "type", "typebuffer", "typefile", "uit", "uitgerekt", "underbar", "underbars", "usecodering", "usedirectory", "vastespatie", "vastespaties", "veld", "veldstapel", "verbergblokken", "vergelijkkleurgroep", "vergelijkpalet", "verhoognummer", "verlaagnummer", "verplaatsformule", "verplaatsopgrid", "verplaatszijblok", "versie", "vertaal", "verwerkblokken", "verwerkpagina", "vl", "voetafstand", "voethoogte", "voetnoot", "voetnoottekst", "volgprofiel", "volgprofielversie", "volgversie", "volledigepaginanummer", "volledigregister", "voluit", "weekdag", "wilijnd", "wiskunde", "witruimte", "woonplaats", "woordrechts", "zetbreedte", "zethoogte" }, + ["pe"]={ "CAP", "Cap", "Caps", "Character", "Characters", "MONTH", "Numbers", "Romannumerals", "WEEKDAY", "WORD", "WORDS", "Word", "Words", "appendix", "cap", "chapter", "chem", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "coupledregister", "crlf", "definebodyfontDEF", "definebodyfontREF", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "definetypeface", "description", "enumeration", "framedtext", "indentation", "inmframed", "its", "labeling", "loadsorts", "loadsynonyms", "mapfontsize", "mediaeval", "mframed", "name", "nextsection", "nocap", "overbar", "overbars", "overstrike", "overstrikes", "paragraph", "part", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "ran", "register", "reservefloat", "resettextcontent", "section", "seeregister", "setupanswerarea", "setupcapitals", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setuplistalternative", "setupurl", "sort", "startalignment", "startbuffer", "startcolumns", "startcombination", "startcomment", "startdescription", "startdocument", "startenumeration", "startfigure", "startfloattext", "startformula", "startframedtext", "starthiding", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startprofile", "startraster", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startุชูˆู„Œุฏ", "startุญู‚Œู‚ุช", "startุฎุทโ€ŒุญุงุดŒู‡", "startุฎุทโ€Œู…ุชู†", "startุฑู†ฺฏ", "startูุดุฑุฏู‡", "startู…ุญŒุท", "startู…ู†ูˆŒโ€Œูพุงู†ู„", "startู…ูˆู„ูู‡", "startู†ุณุฎู‡", "startู†ู‚ู„โ€Œู‚ูˆู„", "startูพุฑูˆฺ˜ู‡", "startูพุณโ€Œุฒู…Œู†ู‡", "stopalignment", "stopbuffer", "stopcolumns", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopenumeration", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stophiding", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stopprofile", "stopraster", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopุชูˆู„Œุฏ", "stopุญู‚Œู‚ุช", "stopุฎุทโ€ŒุญุงุดŒู‡", "stopุฎุทโ€Œู…ุชู†", "stopุฑู†ฺฏ", "stopูุดุฑุฏู‡", "stopู…ุญŒุท", "stopู…ู†ูˆŒโ€Œูพุงู†ู„", "stopู…ูˆู„ูู‡", "stopู†ุณุฎู‡", "stopู†ู‚ู„โ€Œู‚ูˆู„", "stopูพุฑูˆฺ˜ู‡", "stopูพุณโ€Œุฒู…Œู†ู‡", "sub", "subject", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "title", "tooltip", "txt", "typ", "underbar", "underbars", "useJSscripts", "useURL", "useXMLfilter", "usedirectory", "useurl", "ุขูุณุชโ€Œุตูุญู‡", "ุขŒุชู…", "ุขŒุชู…ู‡ุง", "ุขŒู†ู‡", "ุงุฌุจุงุฑุจู„ูˆฺฉู‡ุง", "ุงุฑุชูุงุนโ€ŒุขุฑุงŒุด", "ุงุฑุชูุงุนโ€Œุจุงู„ุง", "ุงุฑุชูุงุนโ€Œุจุฑฺฏ", "ุงุฑุชูุงุนโ€Œุชู‡โ€Œุจุฑฺฏ", "ุงุฑุชูุงุนโ€Œุฎุท", "ุงุฑุชูุงุนโ€Œุณุฑุจุฑฺฏ", "ุงุฑุชูุงุนโ€Œู…ุชู†", "ุงุฑุชูุงุนโ€ŒูพุงŒŒู†", "ุงุฒ", "ุงุฒฺฉุงุฑุงู†ุฏุงุฎุชู†โ€Œู…ู†ูˆŒโ€Œูพุงู†ู„", "ุงุณุชูุงุฏู‡โ€Œุจู„ูˆฺฉู‡ุง", "ุงุณุชูุงุฏู‡โ€Œุฏุณุชุฎุทโ€ŒุชุงŒูพ", "ุงุณุชูุงุฏู‡โ€Œุฑู…ุฒŒู†ู‡", "ุงุณุชูุงุฏู‡โ€Œุดฺฉู„โ€ŒุฎุงุฑุฌŒ", "ุงุณุชูุงุฏู‡โ€Œูุฑู…ุงู†ู‡ุง", "ุงุณุชูุงุฏู‡โ€Œู‚ุทุนู‡โ€Œู…ูˆุฒŒฺฉโ€ŒุฎุงุฑุฌŒ", "ุงุณุชูุงุฏู‡โ€Œู…ุฏูˆู„", "ุงุณุชูุงุฏู‡โ€Œู…ุฏูˆู„ู‡ุง", "ุงุณุชูุงุฏู‡โ€Œู…ุฑุฌุนู‡ุง", "ุงุณุชูุงุฏู‡โ€Œู…ุณŒุฑ", "ุงุณุชูุงุฏู‡โ€Œู†ู…ุงุฏู‡ุง", "ุงุณุชูุงุฏู‡โ€Œู†ูˆุดุชุงุฑุฎุงุฑุฌŒ", "ุงุณุชูุงุฏู‡โ€ŒูˆŒฺ˜ฺฏŒู‡ุง", "ุงุณุชูุงุฏู‡โ€Œูพุฑูˆู†ุฏู‡โ€ŒุฎุงุฑุฌŒ", "ุงุณุชูุงุฏู‡โ€Œูพุฑูˆู†ุฏู‡โ€Œุฏุณุชุฎุทโ€ŒุชุงŒูพ", "ุงุณุชูุงุฏู‡โ€Œูพุฑูˆู†ุฏู‡โ€Œู‡ุงŒโ€ŒุฎุงุฑุฌŒ", "ุงุนุฏุงุฏู„ุงุชŒู†", "ุงูุฒูˆุฏู†", "ุงู…ุง", "ุงู…ุชุญุงู†โ€Œู†ฺฉู†", "ุงู†ุชุฎุงุจโ€Œุจุฑฺฏ", "ุงู†ุชุฎุงุจโ€Œุจู„ูˆฺฉู‡ุง", "ุงู†ุชุฎุงุจโ€Œู†ุณุฎู‡", "ุงู†ุชู‚ุงู„โ€Œุจู‡โ€ŒุชูˆุฑŒ", "ุงู†ุชู‚ุงู„โ€Œูุฑู…ูˆู„", "ุงู†ุชู‚ุงู„โ€Œฺฉู†ุงุฑโ€Œุดู†ุงูˆุฑ", "ุงู†ุฌุงู…โ€Œุฏูˆุจุงุฑู‡", "ุจุงุฑฺฏุฐุงุฑŒู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุขุฑุงŒุด", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุขŒุชู…ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุงุฑุฌุงุน", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุงู†ุฏุงุฒู‡โ€Œุจุฑฺฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุจุงุฑŒฺฉุชุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจุงูุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจุงู„ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจุฎุด", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุจุฑุฏุจุงุฑŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจุฑู†ุงู…ู‡โ€Œู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจุฑฺฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจุณุช", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจู„ูˆฺฉ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจู„ูˆฺฉู‡ุงŒโ€ŒุญุงุดŒู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุจู„ูˆฺฉโ€Œุจุฎุด", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชุงŒูพ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชุงŒูพโ€Œฺฉุฑุฏู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุชุจ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชุฑุชŒุจ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชุฑฺฉŒุจโ€Œู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุชุทุงุจู‚", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชุนุฑŒูโ€Œูพุงู†ูˆุดุช", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุชู†ุธŒู…", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุชู†ุธŒู…โ€ŒุฑŒุงุถŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุชู‡โ€Œุจุฑฺฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชูˆุฑูุชฺฏŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชูˆุถŒุญ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุชูˆุถŒุญโ€Œุตูุญู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุซุจุช", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฌุงู†ุดุงู†Œ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฌุฏูˆู„ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฌุฏูˆู„โ€Œุจู†ุฏŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุงู„Œ", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุฎุฑูˆุฌŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุท", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุทู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุทู‡ุงŒโ€ŒุญุงุดŒู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุทู‡ุงŒโ€ŒุณŒุงู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุทู‡ุงŒโ€Œู…ุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุทู‡ุงŒโ€Œู…ุฌู…ูˆุนู‡โ€Œุณุชูˆู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฎุทู‡ุงโ€ŒŒโ€Œู†ุงุฒฺฉ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฏุฑุฌโ€Œุฏุฑุฎุทู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฏุฑุฌโ€Œู…ุฎุงู„ู", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฏุฑูˆู†โ€ŒุญุงุดŒู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฏูˆุฑุงู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฏฺฉู…ู‡โ€Œู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฑุงู‡ู†ู…ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฑู†ฺฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฑู†ฺฏู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุฒุจุงู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุณุชูˆู†ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุณุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุณุฑุจุฑฺฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุณุฑู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒุณŒุณุชู…", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดุฑุญ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดุฑุญู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดุฑูˆุนโ€Œู…ุฌู…ูˆุนู‡โ€Œุณุชูˆู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดุฑูˆุนโ€ŒูพุงŒุงู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€ŒุฒŒุฑุตูุญู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€Œุณุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€Œุตูุญู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€ŒฺฏุฐุงุฑŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€ŒฺฏุฐุงุฑŒู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€ŒฺฏุฐุงุฑŒโ€Œุตูุญู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€ŒฺฏุฐุงุฑŒโ€Œูพุงุฑุงฺฏุฑุงู", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู…ุงุฑู‡โ€Œโ€ŒฺฏุฐุงุฑŒโ€Œุฎุท", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู†ุงูˆุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดู†ุงูˆุฑู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดฺฉุงูุชู†โ€Œุดู†ุงูˆุฑู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุดฺฉู„ู‡ุงŒโ€ŒุฎุงุฑุฌŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุทุฑุญ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุทุฑุญโ€Œุจู†ุฏŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œุนุฑุถโ€Œุฎุท", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูุงุตู„ู‡โ€ŒุจŒู†โ€Œุฎุท", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูุฑู…ูˆู„ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒูุถุงŒโ€ŒุณูŒุฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูุถุงโ€ŒฺฏุฐุงุฑŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู‚ุงู„ุจŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู‚ู„ู…โ€Œู…ุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู„ูˆุญ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู„Œุณุช", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู„Œุณุชโ€ŒุชุฑฺฉŒุจŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู„Œุณุชโ€Œู…ุฑุฌุน", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชุฑุงุฏูู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชุบŒุฑโ€Œู…ุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†ู‡ุงŒโ€Œุจุงู„ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†โ€Œุณุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†โ€Œุณุฑุจุฑฺฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†โ€Œู‚ุงู„ุจŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†โ€Œู…ุชู†ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†โ€Œูพุงู†ูˆุดุช", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุชู†โ€ŒูพุงŒŒู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุฌู…ูˆุนู‡โ€Œุณุชูˆู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุฌู…ูˆุนู‡โ€Œู†ู…ุงุฏ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ุญŒุทโ€Œู‚ู„ู…โ€Œู…ุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ู†ูˆŒโ€Œูพุงู†ู„", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ฺฉุงู†โ€Œู…ุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…ฺฉุงู†โ€ŒฺฏุฐุงุฑŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…Œุฏุงู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…Œุฏุงู†ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…Œู„ู‡โ€Œุชุทุงุจู‚", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…Œู„ู‡โ€ŒุฒŒุฑ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู…Œู„ู‡โ€Œูพุงู†ู„", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู†ุณุฎู‡โ€Œู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู†ุดุงู†ู‡โ€Œุดฺฉุณุชู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒ", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู†ุดุฑู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œู†ู‚ู„", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุงุฑุงฺฏุฑุงูู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุงู†ู„", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุงู†ูˆุดุชู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒูพุงŒŒู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุฑุฏู‡โ€Œู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุฑุฏู‡โ€Œูพุงู†ู„", "ุจุงุฑฺฏุฐุงุฑŒโ€ŒูพุฑูˆูุงŒู„ู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุฑฺฉุฑุฏู†โ€Œุฎุทู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุณโ€Œุฒู…Œู†ู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œูพุณโ€Œุฒู…Œู†ู‡โ€Œู‡ุง", "ุจุงุฑฺฏุฐุงุฑŒโ€Œฺ†Œุฏู†", "ุจุงุฑฺฏุฐุงุฑŒโ€Œฺฏุฐุงุฑุตูุญู‡", "ุจุงุฑฺฏุฐุงุฑŒโ€Œฺฏุฑูˆู‡ู‡ุงŒโ€ŒุขŒุชู…", "ุจุงุฑฺฏุฐุงุฑŒโ€Œฺฏุฑูˆู‡โ€ŒุขŒุชู…", "ุจุงุฒู†ุดุงู†Œ", "ุจุงุฒู†ุดุงู†Œโ€Œุดู…ุงุฑู‡", "ุจุงุฒู†ุดุงู†Œโ€Œู…ุชู†", "ุจุงุฒู†ุดุงู†Œโ€Œู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒ", "ุจุงฺฏุฐุงุฑŒโ€Œู…ุชู†โ€Œุจุฑฺ†ุณุจ", "ุจุฏูˆู†โ€Œุจุนุฏ", "ุจุฏูˆู†โ€Œุจู„ูˆฺฉู‡ุงŒโ€ŒุจŒุดุชุฑ", "ุจุฏูˆู†โ€ŒุชูˆุฑูุชฺฏŒ", "ุจุฏูˆู†โ€Œุฎุทโ€Œุจุงู„ุงูˆูพุงŒŒู†", "ุจุฏูˆู†โ€Œุฎุทโ€Œุณุฑูˆุชู‡โ€Œุจุฑฺฏ", "ุจุฏูˆู†โ€ŒูุงŒู„ู‡ุงŒโ€ŒุจŒุดุชุฑ", "ุจุฏูˆู†โ€Œูุถุง", "ุจุฏูˆู†โ€ŒูุถุงŒโ€ŒุณูŒุฏ", "ุจุฏูˆู†โ€Œู„Œุณุช", "ุจุฏูˆู†โ€Œู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒ", "ุจุฑู†ุงู…ู‡", "ุจุฑูˆุจู‡", "ุจุฑูˆุจู‡โ€Œุฌุนุจู‡", "ุจุฑูˆุจู‡โ€Œุตูุญู‡", "ุจุฑูˆูพุงŒŒู†", "ุจุฑฺ†ุณุจ", "ุจุฑฺ†ุณุจู‡ุง", "ุจุนุฏ", "ุจู„ู†ุฏ", "ุจู„ูˆฺฉู‡ุงŒโ€Œูพุฑุฏุงุฒุด", "ุจู„ูˆฺฉู‡ุงโ€Œูพู†ู‡ุงู†", "ุจู†ูˆŒุณโ€ŒุจŒู†โ€Œู„Œุณุช", "ุจู†ูˆŒุณโ€Œุฏุฑุซุจุช", "ุจู†ูˆŒุณโ€Œุฏุฑู„Œุณุชโ€Œู…ุฑุฌุน", "ุจู†ูˆŒุณโ€Œุฏุฑโ€Œู„Œุณุช", "ุชุงุฑŒุฎ", "ุชุงุฑŒุฎโ€ŒุฌุงุฑŒ", "ุชุงุฑŒุฎโ€Œุฑุฌูˆุน", "ุชุงŒูพ", "ุชุงŒูพโ€Œุจุงูุฑ", "ุชุงŒูพโ€Œูพุฑูˆู†ุฏู‡", "ุชุจ", "ุชุฑุฌู…ู‡", "ุชุทุงุจู‚", "ุชุนุฑŒู", "ุชุนุฑŒูโ€ŒุขุฑุงŒุด", "ุชุนุฑŒูโ€Œุขุฑู…", "ุชุนุฑŒูโ€Œุงู„ฺฏูˆŒโ€Œุฌุฏูˆู„", "ุชุนุฑŒูโ€Œุงู†ุฏุงุฒู‡โ€Œุจุฑฺฏ", "ุชุนุฑŒูโ€Œุจุงูุฑ", "ุชุนุฑŒูโ€Œุจุฎุด", "ุชุนุฑŒูโ€Œุจุฑู†ุงู…ู‡", "ุชุนุฑŒูโ€Œุจุฑฺ†ุณุจ", "ุชุนุฑŒูโ€Œุจู„ูˆฺฉ", "ุชุนุฑŒูโ€Œุจู„ูˆฺฉโ€Œุจุฎุด", "ุชุนุฑŒูโ€ŒุชุงŒูพ", "ุชุนุฑŒูโ€ŒุชุงŒูพโ€Œฺฉุฑุฏู†", "ุชุนุฑŒูโ€ŒุชุจุฏŒู„", "ุชุนุฑŒูโ€ŒุชุฑุชŒุจ", "ุชุนุฑŒูโ€ŒุชุฑฺฉŒุจ", "ุชุนุฑŒูโ€Œุชู†ุธŒู…โ€ŒุฑŒุงุถŒ", "ุชุนุฑŒูโ€Œุชูˆุฏู‡โ€Œู…Œุฏุงู†", "ุชุนุฑŒูโ€Œุซุจุช", "ุชุนุฑŒูโ€Œุฌุงู†ุดุงู†Œ", "ุชุนุฑŒูโ€Œุฌุฏูˆู„โ€Œุจู†ุฏŒ", "ุชุนุฑŒูโ€Œุฌุนุจู‡โ€Œโ€Œุงูู‚Œ", "ุชุนุฑŒูโ€Œุญุฑู", "ุชุนุฑŒูโ€Œุฎุงู„Œ", "ุชุนุฑŒูโ€ŒุฎุฑูˆุฌŒ", "ุชุนุฑŒูโ€Œุฎุทโ€Œุญุงุฆู„", "ุชุนุฑŒูโ€Œุฏุฑูˆู†โ€ŒุญุงุดŒู‡", "ุชุนุฑŒูโ€Œุฑู†ฺฏ", "ุชุนุฑŒูโ€ŒุฒŒุฑู…Œุฏุงู†", "ุชุนุฑŒูโ€Œุณุจฺฉ", "ุชุนุฑŒูโ€Œุณุจฺฉโ€Œู‚ู„ู…", "ุชุนุฑŒูโ€Œุณุฑ", "ุชุนุฑŒูโ€Œุดุฑุญ", "ุชุนุฑŒูโ€Œุดุฑูˆุนโ€ŒูพุงŒุงู†", "ุชุนุฑŒูโ€Œุดู…ุงุฑู‡โ€Œุจู†ุฏŒ", "ุชุนุฑŒูโ€Œุดู…ุงŒู„โ€Œู…ุฑุฌุน", "ุชุนุฑŒูโ€Œุดู†ุงูˆุฑ", "ุชุนุฑŒูโ€Œุดฺฉุณุชู†โ€Œุณุชูˆู†", "ุชุนุฑŒูโ€Œุดฺฉุณุชโ€Œุตูุญู‡", "ุชุนุฑŒูโ€Œุทุฑุญโ€Œุจู†ุฏŒ", "ุชุนุฑŒูโ€Œูุฑู…ุงู†", "ุชุนุฑŒูโ€Œู‚ุงู„ุจŒ", "ุชุนุฑŒูโ€Œู‚ู„ู…", "ุชุนุฑŒูโ€Œู‚ู„ู…โ€Œุฎุงู…", "ุชุนุฑŒูโ€Œู‚ู„ู…โ€Œู…ุชู†", "ุชุนุฑŒูโ€Œู„ุงŒู‡", "ุชุนุฑŒูโ€Œู„ู‡ุฌู‡", "ุชุนุฑŒูโ€Œู„ูˆุญ", "ุชุนุฑŒูโ€Œู„Œุณุช", "ุชุนุฑŒูโ€Œู„Œุณุชโ€ŒุชุฑฺฉŒุจŒ", "ุชุนุฑŒูโ€Œู„Œุณุชโ€Œู…ุฑุฌุน", "ุชุนุฑŒูโ€Œู…ุชุฑุงุฏูู‡ุง", "ุชุนุฑŒูโ€Œู…ุชุฑุงุฏูโ€Œู‚ู„ู…", "ุชุนุฑŒูโ€Œู…ุชุบŒุฑู…ุชู†", "ุชุนุฑŒูโ€Œู…ุชู†", "ุชุนุฑŒูโ€Œู…ุชู†โ€Œู‚ุงู„ุจŒ", "ุชุนุฑŒูโ€Œู…ุฌู…ูˆุนู‡โ€Œุณุชูˆู†", "ุชุนุฑŒูโ€Œู…ุญŒุทโ€Œู‚ู„ู…โ€Œุจุฏู†ู‡", "ุชุนุฑŒูโ€Œู…ุฑุฌุน", "ุชุนุฑŒูโ€Œู…ู†ูˆŒโ€Œูพุงู†ู„", "ุชุนุฑŒูโ€Œู…ฺฉุงู†โ€Œู…ุชู†", "ุชุนุฑŒูโ€Œู…Œุฏุงู†", "ุชุนุฑŒูโ€Œู…Œุฏุงู†โ€Œุงุตู„Œ", "ุชุนุฑŒูโ€Œู†ุณุฎู‡", "ุชุนุฑŒูโ€Œู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒ", "ุชุนุฑŒูโ€Œู†ู…ุงุฏ", "ุชุนุฑŒูโ€Œู†ู…ุงุฏุดฺฉู„", "ุชุนุฑŒูโ€Œูพุงุฑุงฺฏุฑุงูู‡ุง", "ุชุนุฑŒูโ€ŒูพุฑูˆูุงŒู„", "ุชุนุฑŒูโ€Œูพูˆุดุด", "ุชุนุฑŒูโ€Œฺฏุฑูˆู‡โ€ŒุขŒุชู…", "ุชุนุฑŒูโ€Œฺฏุฑูˆู‡โ€Œุฑู†ฺฏ", "ุชุนŒŒู†โ€Œุดู…ุงุฑู‡", "ุชุนŒŒู†โ€Œุดู…ุงุฑู‡โ€Œุณุฑ", "ุชุนŒŒู†โ€Œู…ุชุบŒุฑโ€Œู…ุชู†", "ุชุนŒŒู†โ€Œู…ุญุชูˆุงŒโ€Œู…ุชู†", "ุชุนŒŒู†โ€Œู…ุดุฎุตุงุชโ€Œุซุจุช", "ุชุนŒŒู†โ€Œู…ุดุฎุตุงุชโ€Œู„Œุณุช", "ุชุบŒŒุฑุจู‡โ€Œู‚ู„ู…โ€Œุจุฏู†ู‡", "ุชุบŒŒุฑุจู‡โ€Œู‚ู„ู…โ€Œุฎุงู…", "ุชู†ุธŒู…โ€Œุฑุงุณุช", "ุชู†ุธŒู…โ€Œุทุฑุญโ€Œุจู†ุฏŒ", "ุชู†ุธŒู…โ€Œูˆุณุท", "ุชูˆุฌู‡", "ุชูˆุฑูุชฺฏŒ", "ุชูˆุฑŒ", "ุชูˆู„Œุฏ", "ุชฺฉ", "ุซุจุชโ€Œุฒูˆุฌ", "ุซุจุชโ€Œฺฉุงู…ู„", "ุฌุฏุงุณุงุฒŒโ€Œู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒ", "ุญุงุด", "ุญุฑู", "ุญุฑูู‡ุง", "ุญูุธโ€Œุจู„ูˆฺฉู‡ุง", "ุญู‚Œู‚ุช", "ุฎุงู„Œ", "ุฎุทู‡ุงŒโ€ŒุณŒุงู‡", "ุฎุทู‡ุงŒโ€Œู†ุงุฒฺฉ", "ุฎุทู‡ุงโ€Œุฎุงู„Œ", "ุฎุทโ€ŒุญุงุดŒู‡", "ุฎุทโ€ŒุณŒุงู‡", "ุฎุทโ€Œู…ุชู†", "ุฎุทโ€Œู…ูˆ", "ุฎุทโ€Œู†ุงุฒฺฉ", "ุฎโ€Œุง", "ุฎโ€Œุน", "ุฏุฑ", "ุฏุฑุฌโ€Œุขุฑู…ู‡ุง", "ุฏุฑุฌโ€Œุซุจุช", "ุฏุฑุฌโ€Œุฎุท", "ุฏุฑุฌโ€Œุฏุฑุฎุท", "ุฏุฑุฌโ€Œุฏุฑุฎุทู‡ุง", "ุฏุฑุฌโ€Œุฏุฑู…ุชู†", "ุฏุฑุฌโ€Œุฏุฑู…Œุฏุงู†", "ุฏุฑุฌโ€Œุฏุฑโ€Œุจุงู„ุงŒโ€ŒŒฺฉุฏŒฺฏุฑ", "ุฏุฑุฌโ€Œุฏุฑโ€ŒุชูˆุฑŒ", "ุฏุฑุฌโ€Œุฑุงู‡ู†ู…ุง", "ุฏุฑุฌโ€ŒุฒŒุฑูุฑู…ูˆู„", "ุฏุฑุฌโ€Œุดู…ุงุฑู‡โ€Œุณุฑ", "ุฏุฑุฌโ€Œุดู…ุงุฑู‡โ€Œุตูุญู‡", "ุฏุฑุฌโ€Œุดู†ุงูˆุฑ", "ุฏุฑุฌโ€Œูุฑู…ูˆู„", "ุฏุฑุฌโ€Œู„Œุณุช", "ุฏุฑุฌโ€Œู„Œุณุชโ€Œุฎุงู…", "ุฏุฑุฌโ€Œู„Œุณุชโ€Œู…ุฎุชู„ุท", "ุฏุฑุฌโ€Œู„Œุณุชโ€Œู…ุฑุฌุน", "ุฏุฑุฌโ€Œู…ุชุบŒุฑู…ุชู†", "ุฏุฑุฌโ€Œู…ุชู†โ€Œุณุฑ", "ุฏุฑุฌโ€Œูพุงู†ูˆุดุชู‡ุง", "ุฏุฑุฌโ€Œูพุงู†ูˆุดุชู‡ุงŒโ€Œู…ูˆุถุนŒ", "ุฏุฑุฌโ€Œฺ†ูˆุจโ€Œุฎุท", "ุฏุฑุฌโ€Œฺฉู†ุงุฑโ€Œุจู‡โ€Œฺฉู†ุงุฑ", "ุฏุฑุญุงุดŒู‡", "ุฏุฑุญุงุดŒู‡โ€ŒุฏŒฺฏุฑ", "ุฏุฑุญุงุดŒู‡โ€Œุฑุงุณุช", "ุฏุฑุญุงุดŒู‡โ€Œฺ†ูพ", "ุฏุฑุฎุงุฑุฌŒ", "ุฏุฑุฎุท", "ุฏุฑุฏุงุฎู„Œ", "ุฏุฑุฑุงุณุช", "ุฏุฑุตูุญู‡", "ุฏุฑู‚ุงู„ุจŒ", "ุฏุฑู„ุจู‡โ€Œุฑุงุณุช", "ุฏุฑู„ุจู‡โ€Œฺ†ูพ", "ุฏุฑู…ูˆุฑุฏ", "ุฏุฑูˆู†", "ุฏุฑูพุฑ", "ุฏุฑฺ†ูพ", "ุฏุฑŒุงูุชโ€Œุจุงูุฑ", "ุฏุฑŒุงูุชโ€Œุดู…ุงุฑู‡", "ุฏุฑŒุงูุชโ€Œู†ุดุงู†ู‡", "ุฏูˆุฑุงู†", "ุฏฺฉู…ู‡", "ุฏฺฉู…ู‡โ€Œู…ู†ูˆ", "ุฏฺฉู…ู‡โ€Œูพุงู†ู„", "ุฑุฌ", "ุฑุฌูˆุน", "ุฑู†ฺฏ", "ุฑู†ฺฏโ€ŒุฎุงฺฉุณุชุฑŒ", "ุฑูˆุฒู‡ูุชู‡", "ุฑŒุงุถŒ", "ุฒุจุงู†", "ุฒุจุงู†โ€Œุงุตู„Œ", "ุณุชูˆู†", "ุณุชูˆู†โ€Œุงู…ุชุญุงู†", "ุณุฑ", "ุณุฑูพูˆุดโ€Œฺฉูˆฺ†ฺฉโ€Œู†ู‡", "ุดุฑูˆุนโ€ŒุขุฑุงŒุด", "ุดุฑูˆุนโ€ŒุขุฑุงŒุดโ€Œุณุชูˆู†", "ุดุฑูˆุนโ€ŒุจุงุฑŒฺฉุชุฑ", "ุดุฑูˆุนโ€ŒุจุงุฒุจŒู†Œ", "ุดุฑูˆุนโ€Œุจู„ูˆฺฉโ€ŒุญุงุดŒู‡", "ุดุฑูˆุนโ€ŒุชุฑฺฉŒุจ", "ุดุฑูˆุนโ€ŒุชุตุญŒุญโ€Œุฎุท", "ุดุฑูˆุนโ€Œุชุทุงุจู‚", "ุดุฑูˆุนโ€Œุชู†ุธŒู…", "ุดุฑูˆุนโ€Œุชูˆู„Œุฏ", "ุดุฑูˆุนโ€Œุฌุฏูˆู„", "ุดุฑูˆุนโ€Œุฌุฏูˆู„ู‡ุง", "ุดุฑูˆุนโ€Œุฎุท", "ุดุฑูˆุนโ€Œุฎุทู‡ุง", "ุดุฑูˆุนโ€Œุฎุทโ€ŒุญุงุดŒู‡", "ุดุฑูˆุนโ€Œุฎุทโ€Œู…ุชู†", "ุดุฑูˆุนโ€Œุฑู†ฺฏ", "ุดุฑูˆุนโ€Œุณุชูˆู†ู‡ุง", "ุดุฑูˆุนโ€ŒุณุฑุงุณุฑŒ", "ุดุฑูˆุนโ€Œุดู…ุงุฑู‡โ€ŒฺฏุฐุงุฑŒโ€Œุฎุท", "ุดุฑูˆุนโ€Œุดฺฉู„", "ุดุฑูˆุนโ€ŒุบŒุฑโ€Œูุดุฑุฏู‡", "ุดุฑูˆุนโ€Œูุดุฑุฏู‡", "ุดุฑูˆุนโ€Œู…ุชู†", "ุดุฑูˆุนโ€Œู…ุฌู…ูˆุนู‡โ€Œุณุชูˆู†", "ุดุฑูˆุนโ€Œู…ุฌู…ูˆุนู‡โ€Œู†ู…ุงุฏ", "ุดุฑูˆุนโ€Œู…ุญŒุท", "ุดุฑูˆุนโ€Œู…ุฎุงู„ู", "ุดุฑูˆุนโ€Œู…ูˆุถุนŒ", "ุดุฑูˆุนโ€Œู…ูˆู„ูู‡", "ุดุฑูˆุนโ€Œู…ฺฉุงู†โ€ŒฺฏุฐุงุฑŒ", "ุดุฑูˆุนโ€Œู†ุณุฎู‡", "ุดุฑูˆุนโ€Œู†ู‚ู„โ€Œู‚ูˆู„", "ุดุฑูˆุนโ€Œู†ูˆุดุชุงุฑ", "ุดุฑูˆุนโ€Œูพุงู†ูˆุดุชู‡ุงŒโ€Œู…ูˆุถุนŒ", "ุดุฑูˆุนโ€ŒูพุฑูˆูุงŒู„", "ุดุฑูˆุนโ€Œูพุฑูˆฺ˜ู‡", "ุดุฑูˆุนโ€Œูพุณโ€Œุฒู…Œู†ู‡", "ุดุฑูˆุนโ€Œูพูˆุดุด", "ุดุฑูˆุนโ€Œฺฉุฏ", "ุดู…ุงุฑู‡โ€ŒุงูุฒุงŒุด", "ุดู…ุงุฑู‡โ€ŒุฒŒุฑุตูุญู‡", "ุดู…ุงุฑู‡โ€ŒุฒŒุฑูุฑู…ูˆู„", "ุดู…ุงุฑู‡โ€Œุณุฑ", "ุดู…ุงุฑู‡โ€ŒุณุฑุฌุงุฑŒ", "ุดู…ุงุฑู‡โ€Œุตูุญู‡", "ุดู…ุงุฑู‡โ€Œุตูุญู‡โ€Œฺฉุงู…ู„", "ุดู…ุงุฑู‡โ€Œูุฑู…ูˆู„", "ุดู…ุงุฑู‡โ€Œู…ุจุฏู„", "ุดู…ุงุฑู‡โ€Œู‡ุง", "ุดู…ุงุฑู‡โ€Œฺฉุงู‡ุด", "ุดู…ุงุฑู‡โ€Œฺฉู„โ€Œุตูุญู‡โ€Œู‡ุง", "ุดฺฉุงูุชู†โ€Œุดู†ุงูˆุฑ", "ุดฺฉู„โ€ŒุฎุงุฑุฌŒ", "ุตูุญู‡", "ุตูุญู‡โ€Œุชุณุช", "ุตูุญู‡โ€Œุฒูˆุฌ", "ุตูุญู‡โ€Œูพุฑุฏุงุฒุด", "ุทูˆู„โ€Œู„Œุณุช", "ุนุจูˆุฑุจู„ูˆฺฉู‡ุง", "ุนุฑุถโ€ŒุขุฑุงŒุด", "ุนุฑุถโ€Œุจุฑฺฏ", "ุนุฑุถโ€ŒุญุงุดŒู‡", "ุนุฑุถโ€ŒุญุงุดŒู‡โ€ŒุฎุงุฑุฌŒ", "ุนุฑุถโ€ŒุญุงุดŒู‡โ€Œุฏุงุฎู„Œ", "ุนุฑุถโ€ŒุญุงุดŒู‡โ€Œุฑุงุณุช", "ุนุฑุถโ€ŒุญุงุดŒู‡โ€Œฺ†ูพ", "ุนุฑุถโ€Œุฎุท", "ุนุฑุถโ€Œู„ุจู‡", "ุนุฑุถโ€Œู„ุจู‡โ€ŒุฎุงุฑุฌŒ", "ุนุฑุถโ€Œู„ุจู‡โ€Œุฏุงุฎู„Œ", "ุนุฑุถโ€Œู„ุจู‡โ€Œุฑุงุณุช", "ุนุฑุถโ€Œู„ุจู‡โ€Œฺ†ูพ", "ุนุฑุถโ€Œู„Œุณุช", "ุนุฑุถโ€Œู…ุชู†", "ุนู…ู‚โ€Œุตูุญู‡", "ุนู†ูˆุงู†โ€ŒุญุงุดŒู‡", "ูุงุตู„ู‡โ€Œุจุงู„ุง", "ูุงุตู„ู‡โ€Œุชู‡โ€Œุจุฑฺฏ", "ูุงุตู„ู‡โ€ŒุญุงุดŒู‡", "ูุงุตู„ู‡โ€ŒุญุงุดŒู‡โ€ŒุฎุงุฑุฌŒ", "ูุงุตู„ู‡โ€ŒุญุงุดŒู‡โ€Œุฏุงุฎู„Œ", "ูุงุตู„ู‡โ€ŒุญุงุดŒู‡โ€Œุฑุงุณุช", "ูุงุตู„ู‡โ€ŒุญุงุดŒู‡โ€Œฺ†ูพ", "ูุงุตู„ู‡โ€Œุณุฑุจุฑฺฏ", "ูุงุตู„ู‡โ€Œู„ุจู‡", "ูุงุตู„ู‡โ€Œู„ุจู‡โ€ŒุฎุงุฑุฌŒ", "ูุงุตู„ู‡โ€Œู„ุจู‡โ€Œุฏุงุฎู„Œ", "ูุงุตู„ู‡โ€Œู„ุจู‡โ€Œุฑุงุณุช", "ูุงุตู„ู‡โ€Œู„ุจู‡โ€Œฺ†ูพ", "ูุงุตู„ู‡โ€ŒูพุงŒŒู†", "ูุงุตู„ู‡โ€Œูพุดุช", "ูุดุฑุฏู‡", "ูุถุง", "ูุถุงู‡ุงŒโ€Œุซุงุจุช", "ูุถุงŒโ€Œุจุงู„ุง", "ูุถุงŒโ€Œุจุฑุด", "ูุถุงŒโ€Œุซุงุจุช", "ูุถุงŒโ€ŒุณูŒุฏ", "ูุถุงŒโ€ŒุณูŒุฏุตุญŒุญ", "ูุถุงŒโ€ŒูพุงŒŒู†", "ููˆุฑŒโ€Œุจู‡โ€Œู„Œุณุช", "ููˆุฑŒโ€ŒุจŒู†โ€Œู„Œุณุช", "ู‚ุงู„ุจŒ", "ู„ูˆุญโ€Œู…ู‚ุงŒุณู‡", "ู…ุงู‡", "ู…ุชุบŒุฑ ู…ุชู†", "ู…ุชู†โ€Œุจุฑฺ†ุณุจ", "ู…ุชู†โ€ŒุญุงุดŒู‡", "ู…ุชู†โ€Œุณุฑ", "ู…ุชู†โ€Œูพุงู†ูˆุดุช", "ู…ุญŒุท", "ู…ุฑุงุฌุนู‡", "ู…ุฑุฌุน", "ู…ุฑุฌุนโ€Œุตูุญู‡", "ู…ุฑุฌุนโ€Œู…ุชู†", "ู…ุฑุญู„ู‡โ€Œุณุฑ", "ู…ุณฺฉู†", "ู…ุนู†Œโ€Œูˆุงุญุฏ", "ู…ู‚ุงŒุณู‡โ€Œฺฏุฑูˆู‡โ€Œุฑู†ฺฏ", "ู…ู‚ุฏุงุฑุฎุงฺฉุณุชุฑŒ", "ู…ู‚ุฏุงุฑุฑู†ฺฏ", "ู…ู‚Œุงุณ", "ู…ู†ูŒ", "ู…ู†ูˆŒโ€Œูพุงู†ู„", "ู…ูˆู„ูู‡", "ู…ฺฉุงู†", "ู…ฺฉุงู†โ€Œู…ุชู†", "ู…Œุฏุงู†", "ู…Œุฏุงู†ู‡ุงŒโ€Œฺฏุฒุงุฑุด", "ู…Œุฏุงู†โ€ŒุดุจŒู‡โ€ŒุณุงุฒŒ", "ู…Œุฏุงู†โ€Œูพุดุชู‡", "ู…Œุฏุงู†โ€ŒฺฉูพŒ", "ู…Œู„ู‡โ€Œุชุทุงุจู‚", "ู…Œู„ู‡โ€Œุฑู†ฺฏ", "ู…Œู„ู‡โ€Œูพุงู†ู„", "ู†ุงุดู†ุงุณ", "ู†ุงู…โ€Œู…ุงฺฉุฑูˆ", "ู†ุณุฎู‡", "ู†ุณุฎู‡โ€Œู†ุดุงู†ู‡", "ู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒ", "ู†ุดุงู†ู‡โ€ŒฺฏุฐุงุฑŒโ€Œุฒูˆุฌ", "ู†ุดุฑ", "ู†ุตุจโ€Œุฒุจุงู†", "ู†ู‚ุทู‡โ€Œู‡ุง", "ู†ู‚ู„", "ู†ู‚ู„โ€Œู‚ูˆู„", "ู†ู…", "ู†ู…ุงุฏ", "ู†ู…ุงุฏุณุฑ", "ู†ู…ุงุฏู„Œุณุช", "ู†ู…ุงŒุดโ€ŒุขุฑุงŒุด", "ู†ู…ุงŒุดโ€ŒุจุงุฑฺฏุฐุงุฑŒู‡ุง", "ู†ู…ุงŒุดโ€Œุจุณุชู‡ุง", "ู†ู…ุงŒุดโ€ŒุชูˆุฑŒ", "ู†ู…ุงŒุดโ€Œุฑู†ฺฏ", "ู†ู…ุงŒุดโ€Œุดฺฉู„ู‡ุงŒโ€ŒุฎุงุฑุฌŒ", "ู†ู…ุงŒุดโ€Œุทุฑุญโ€Œุจู†ุฏŒ", "ู†ู…ุงŒุดโ€Œู‚ุงู„ุจ", "ู†ู…ุงŒุดโ€Œู‚ู„ู…โ€Œุจุฏู†ู‡", "ู†ู…ุงŒุดโ€Œู„ูˆุญ", "ู†ู…ุงŒุดโ€Œู…ุฌู…ูˆุนู‡โ€Œุนู„ุงู…ุช", "ู†ู…ุงŒุดโ€Œู…ุญŒุทโ€Œู‚ู„ู…โ€Œุจุฏู†ู‡", "ู†ู…ุงŒุดโ€Œู…Œุฏุงู†ู‡ุง", "ู†ู…ุงŒุดโ€Œฺ†ุงูพ", "ู†ู…ุงŒุดโ€Œฺฏุฑูˆู‡โ€Œุฑู†ฺฏ", "ู†ูˆุดุชุงุฑุฒูˆุฌ", "ู‡ุฏุงŒุช", "ูพุง", "ูพุงุจุง", "ูพุงู†ูˆุดุช", "ูพุงŒุงู†โ€ŒุขุฑุงŒุด", "ูพุงŒุงู†โ€ŒุขุฑุงŒุดโ€Œุณุชูˆู†", "ูพุงŒุงู†โ€ŒุจุงุฒุจŒู†Œ", "ูพุงŒุงู†โ€Œุจู„ูˆฺฉโ€ŒุญุงุดŒู‡", "ูพุงŒุงู†โ€ŒุชุฑฺฉŒุจ", "ูพุงŒุงู†โ€ŒุชุตุญŒุญโ€Œุฎุท", "ูพุงŒุงู†โ€Œุชุทุงุจู‚", "ูพุงŒุงู†โ€Œุชู†ุธŒู…", "ูพุงŒุงู†โ€Œุชูˆู„Œุฏ", "ูพุงŒุงู†โ€Œุฌุฏูˆู„", "ูพุงŒุงู†โ€Œุฌุฏูˆู„ู‡ุง", "ูพุงŒุงู†โ€Œุฎุท", "ูพุงŒุงู†โ€Œุฎุทู‡ุง", "ูพุงŒุงู†โ€Œุฎุทโ€ŒุญุงุดŒู‡", "ูพุงŒุงู†โ€Œุฎุทโ€Œู…ุชู†", "ูพุงŒุงู†โ€Œุฑู†ฺฏ", "ูพุงŒุงู†โ€Œุณุชูˆู†ู‡ุง", "ูพุงŒุงู†โ€ŒุณุฑุงุณุฑŒ", "ูพุงŒุงู†โ€Œุดู…ุงุฑู‡โ€ŒฺฏุฐุงุฑŒโ€Œุฎุท", "ูพุงŒุงู†โ€ŒุบŒุฑูุดุฑุฏู‡", "ูพุงŒุงู†โ€Œูุดุฑุฏู‡", "ูพุงŒุงู†โ€Œู…ุชู†", "ูพุงŒุงู†โ€Œู…ุฌู…ูˆุนู‡โ€Œุณุชูˆู†", "ูพุงŒุงู†โ€Œู…ุญŒุท", "ูพุงŒุงู†โ€Œู…ุฎุงู„ู", "ูพุงŒุงู†โ€Œู…ูˆุถุนŒ", "ูพุงŒุงู†โ€Œู…ูˆู„ูู‡", "ูพุงŒุงู†โ€Œู…ฺฉุงู†โ€ŒฺฏุฐุงุฑŒ", "ูพุงŒุงู†โ€Œู†ุงุฒฺฉุชุฑ", "ูพุงŒุงู†โ€Œู†ุณุฎู‡", "ูพุงŒุงู†โ€Œู†ู‚ู„โ€Œู‚ูˆู„", "ูพุงŒุงู†โ€Œู†ูˆุดุชุงุฑ", "ูพุงŒุงู†โ€Œูพุงู†ูˆุดุชู‡ุงŒโ€Œู…ูˆุถุนŒ", "ูพุงŒุงู†โ€ŒูพุฑูˆูุงŒู„", "ูพุงŒุงู†โ€Œูพุฑูˆฺ˜ู‡", "ูพุงŒุงู†โ€Œูพุณโ€Œุฒู…Œู†ู‡", "ูพุงŒุงู†โ€Œูพูˆุดุด", "ูพุงŒุงู†โ€Œฺฉุฏ", "ูพุงŒŒู†", "ูพุฑุฏู‡", "ูพุฑูˆฺ˜ู‡", "ูพุฑฺฉุฑุฏู†โ€Œู…Œุฏุงู†", "ูพุณโ€Œุฒู…Œู†ู‡", "ูพŒุฑูˆŒโ€Œู†ุณุฎู‡", "ูพŒุฑูˆŒโ€Œู†ุณุฎู‡โ€ŒูพุฑูˆูุงŒู„", "ูพŒุฑูˆŒโ€ŒูพุฑูˆูุงŒู„", "ฺ†ุงูพโ€Œุงุฑุชูุงุนโ€Œุจุฑฺฏ", "ฺ†ุงูพโ€Œุนุฑุถโ€Œุจุฑฺฏ", "ฺ†ูˆุจุฎุท", "ฺ†ูพโ€Œฺ†Œู†", "ฺฉุงุบุฐุฒูˆุฌ", "ฺฉุณุฑ", "ฺฉุดŒุฏู‡", "ฺฉู„ู…ู‡โ€ŒุญุงุดŒู‡", "ฺฉู„ู…ู‡โ€Œุฑุงุณุช", "ฺฏŒุฑู‡", "Œุงุฏุฏุงุดุช", "Œฺฉโ€Œุฌุง", "Œฺฉโ€Œุฎุท" }, + ["ro"]={ "CAP", "CUVANT", "CUVINTE", "Cap", "Caps", "Cuvant", "Cuvinte", "KAP", "Kap", "Kaps", "LUNA", "Litera", "Litere", "Numere", "Numereromane", "ZIDINSAPTAMANA", "adapteazaaspect", "adubuffer", "adumarcaje", "afiseazaaspect", "afiseazacampuri", "afiseazaculoare", "afiseazafiguriexterne", "afiseazafonttext", "afiseazagrid", "afiseazagrupculoare", "afiseazamakeup", "afiseazamediufonttext", "afiseazapaleta", "afiseazarama", "afiseazasetari", "afiseazasetsimboluri", "afiseazastruts", "afiseazatiparire", "aliniat", "aliniatcentru", "aliniatdreapta", "aliniatstanga", "appendix", "arg", "ascundeblocuri", "atleftmargin", "atrightmargin", "baraculoare", "barainteractiune", "barasincronizare", "blanc", "but", "butoaneinteractiune", "buton", "butonmeniu", "camp", "campumplere", "cap", "chapter", "chem", "citat", "clip", "cloneazacamp", "coloana", "comment", "comparagrupculoare", "comparapaleta", "completeazanumarpagina", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completeregister", "componenta", "convertestenumar", "copiazacamp", "corecteazaspatiualb", "coupledregister", "crlf", "culoare", "culoaregri", "cupleazadocument", "cupleazamarcaje", "cupleazaregistru", "cutspace", "cuvantdreapta", "cuvantmarginal", "data", "datacurenta", "datareferit", "decrementnumber", "decupleazamarcaje", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "definepagebreak", "defineplacement", "defineste", "definesteaccent", "definesteantet", "definesteblanc", "definestebloc", "definesteblocsectiune", "definestebuffer", "definestecamp", "definestecampprincipal", "definestecaracter", "definestecomanda", "definesteconversie", "definesteculoare", "definestedescriere", "definestedimensiunehartie", "definesteenumerare", "definesteeticheta", "definestefloat", "definestefont", "definestefontraw", "definestefonttext", "definesteformatreferinte", "definestegrupculori", "definestehbox", "definesteinconjurare", "definestelista", "definestelistacombinata", "definestelistareferinte", "definestelogo", "definestemakeup", "definestemarcaje", "definestemediulfonttext", "definestemeniuinteractiune", "definesteoutput", "definesteoverlay", "definestepaleta", "definesteparagraf", "definestepozitietext", "definesteprofil", "definesteprogram", "definestereferinte", "definesteregistru", "definesterigla", "definestesablontabel", "definestesectiune", "definestesimbol", "definestesimbolfigura", "definestesinonim", "definestesinonimfont", "definestesortare", "definestestartstop", "definestestil", "definestestilfont", "definestestivacampuri", "definestesubcamp", "definestetabulatori", "definestetext", "definestetexteinconjurate", "definestetextinconjurat", "definestetyping", "definestevariabilatext", "definesteversiune", "definetype", "definetypeface", "description", "despre", "determinacaracteristicilelistei", "determinacaracteristiciregistru", "determinanumartitlu", "dezactiveazameniuinteractiune", "dimensiune", "din", "distantaantet", "distantacolt", "distantacoltdreapta", "distantacoltstanga", "distantajos", "distantamargine", "distantamarginedreapta", "distantamarginestanga", "distantasubsol", "distantasus", "domiciliu", "dute", "dutebox", "dutepagina", "ecran", "el", "element", "emptylines", "enumeration", "eticheta", "etichete", "fact", "faraaliniat", "faradimensiune", "farafisiere", "faraliniiantetsisubsol", "faraliniisussijos", "faralista", "faramarcaje", "faraspatiu", "faraspatiualb", "figuraexterna", "firdepar", "folosesteURL", "folosestebloc", "folosestecodificarea", "folosestecomenzi", "folosestedirector", "folosestedocumentextern", "folosestefiguraexterna", "folosestefisiereexterne", "folosestefisierextern", "folosestemodul", "folosestemodule", "folosestemuzicaexterna", "folosestereferinte", "folosestescriptJS", "folosestesimboluri", "folosestespeciale", "folosesteurl", "footnotetext", "forteazablocuri", "fractie", "framed", "framedtext", "fundal", "gatablocuri", "getnumber", "grid", "grosimelinie", "hartiedubla", "headsym", "hl", "immediatebetweenlist", "immediatetolist", "impachetat", "impartefloat", "in", "inalt", "inaltamargine", "inaltimeantet", "inaltimehartie", "inaltimehartieimprimanta", "inaltimejos", "inaltimelista", "inaltimemakeup", "inaltimesubsol", "inaltimesus", "inaltimetext", "indentation", "indreapta", "inframed", "ininner", "injos", "inlinie", "inmaframed", "inmargineadreapta", "inmargineastanga", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inparteadreapta", "inparteastanga", "instalarelimba", "instanga", "intins", "jos", "jossus", "kap", "la", "labeling", "lapagina", "latimecoltdreapta", "latimecoltstanga", "latimecolturi", "latimehartie", "latimehartieimprimanta", "latimelista", "latimemakeup", "latimemargine", "latimemarginedreapta", "latimemarginestanga", "latimetext", "leg", "limba", "limbaprincipala", "liniemargine", "linieneagra", "liniesubtire", "linieumplere", "liniinegre", "liniisubtiri", "listsymbol", "litera", "litere", "loadsorts", "loadsynonyms", "logcampuri", "luna", "lungimelista", "maframed", "mapfontsize", "mar", "marcaje", "marcheazaversiune", "marginal", "matematica", "mediaeval", "mediu", "meniuinteractiune", "minicitat", "moveformula", "movesidefloat", "mutapegrid", "name", "navigating", "necunoscut", "nextsection", "niveltitlu", "nocap", "nokap", "nop", "nota", "notasubsol", "numarformula", "numarincrement", "numarpagina", "numarsubformula", "numartitlu", "numartitlucurent", "numartotalpagini", "numberofsubpages", "nume", "numere", "numereromane", "numeunitate", "nutesta", "olinie", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "pagina", "paginadubla", "paragraph", "part", "pastreazablocuri", "pelung", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placerawlist", "placereferencelist", "plaseazapegrid", "plaseazasemnecarte", "potrivestecamp", "pozitie", "pozitietext", "proceseazabloc", "proceseazapagina", "produs", "program", "proiect", "publicatie", "puncte", "punedeasuprafiecareia", "punefatainfata", "puneformula", "punelegenda", "punelista", "punelistacombinata", "punelogouri", "punenotesubsol", "punenotesubsollocale", "punenumarpagina", "puneregistru", "punerigla", "punesubformula", "punevariabilatext", "ran", "ref", "refa", "referinta", "referintapagina", "referintatext", "referit", "referring", "reflexie", "register", "remarca", "reservefloat", "reset", "reseteazamarcaje", "resetnumber", "resettextcontent", "riglatext", "rigleumplere", "roteste", "saripesteblocuri", "scala", "scriebuffer", "scrieinlista", "scrieinlistareferinte", "scrieinregistru", "scrieintreliste", "section", "seeregister", "selecteazablocuri", "selecteazahartie", "selecteazaversiune", "semncarte", "setarebarasincronizare", "setareitemization", "setarelimba", "setareoutput", "setarepozitie", "setaresincronizare", "setari", "seteazaaliniat", "seteazaalinierea", "seteazaantet", "seteazaaranjareapag", "seteazaaspect", "seteazabarainteractiune", "seteazablanc", "seteazabloc", "seteazablocsectiune", "seteazablocurimarginale", "seteazabuffer", "seteazabutoane", "seteazacamp", "seteazacampuri", "seteazaclipping", "seteazacoloane", "seteazacombinari", "seteazacomentariu", "seteazacomentariupagina", "seteazaculoare", "seteazaculori", "seteazadefinireanotasubsol", "seteazadescriere", "seteazadimensiunihartie", "seteazaecrane", "seteazaecraninteractiune", "seteazaelemente", "seteazaenumerare", "seteazafiguriexterne", "seteazafloat", "seteazafloats", "seteazafonttext", "seteazaformulare", "seteazaformule", "seteazafundal", "seteazafundaluri", "seteazagrosimelinie", "seteazaimpartireafloat", "seteazainconjurat", "seteazaingust", "seteazainteractiunea", "seteazajos", "seteazalegenda", "seteazalegendele", "seteazaliniesilabe", "seteazaliniesubtire", "seteazalinii", "seteazaliniimargine", "seteazaliniinegre", "seteazaliniiumplere", "seteazalista", "seteazalistacombinata", "seteazalistareferinte", "seteazamajuscule", "seteazamakeup", "seteazamarcaje", "seteazamarginal", "seteazamediulfonttext", "seteazameniuinteractiune", "seteazaminicitat", "seteazanotasubsol", "seteazanumarpagina", "seteazanumarsubpagina", "seteazanumartitlu", "seteazanumerotare", "seteazanumerotarelinii", "seteazanumerotarepagina", "seteazanumerotareparagrafe", "seteazapaleta", "seteazaparagrafe", "seteazaplasareaopozita", "seteazapozitietext", "seteazaprofile", "seteazaprograme", "seteazapublicatii", "seteazareferinte", "seteazaregistru", "seteazarigla", "seteazarigletext", "seteazarigleumplere", "seteazarotare", "seteazasectiune", "seteazasimbol", "seteazasinonime", "seteazasistem", "seteazasortare", "seteazaspatiu", "seteazaspatiualb", "seteazaspatiuinterliniar", "seteazastrut", "seteazasublinie", "seteazasubsol", "seteazasus", "seteazatab", "seteazatabele", "seteazatabulatori", "seteazatext", "seteazatexteantet", "seteazatextejos", "seteazatextesubsol", "seteazatextesus", "seteazatextetext", "seteazatexteticheta", "seteazatexttitlu", "seteazatitlu", "seteazatitluri", "seteazatoleranta", "seteazatranzitiepagina", "seteazatype", "seteazatyping", "seteazaurl", "seteazavariabilatext", "seteazaversiuni", "setnumber", "settextcontent", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setupstartstop", "setvariabilatext", "sim", "simbol", "sincronizeaza", "sort", "spatiifixate", "spatiu", "spatiualb", "spatiufixat", "spatiujos", "spatiuspate", "spatiusus", "startalignment", "startaliniere", "startblocmarginal", "startbuffer", "startcitat", "startcodificare", "startcoloane", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombinare", "startcombination", "startcomment", "startcomponenta", "startcorectielinie", "startculoare", "startdescription", "startdocument", "startenumeration", "startfact", "startfigura", "startfigure", "startfloattext", "startformula", "startframedtext", "startfundal", "startglobal", "starthiding", "startimpachetat", "startingust", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlinie", "startliniemargine", "startlinii", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmediu", "startmeniuinteractiune", "startnamemakeup", "startnarrower", "startneimpachetat", "startnotesubsollocale", "startnumerotarelinii", "startopozit", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startpozitionare", "startprodus", "startprofil", "startprofile", "startproiect", "startraster", "startregister", "startriglatext", "startsetsimboluri", "startsincronizare", "startsymbolset", "startsynchronization", "starttabel", "starttabele", "starttable", "starttables", "starttabulate", "starttext", "starttyping", "startunpacked", "startversiune", "stivacampuri", "stopalignment", "stopaliniere", "stopblobal", "stopblocmarginal", "stopbuffer", "stopcitat", "stopcodificare", "stopcoloane", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombinare", "stopcombination", "stopcomment", "stopcomponenta", "stopcorectielinie", "stopculoare", "stopdescription", "stopdocument", "stopenumeration", "stopfact", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopfundal", "stophiding", "stopimpachetat", "stopingust", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplinie", "stopliniemargine", "stoplinii", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmediu", "stopmeniuinteractiune", "stopnamemakeup", "stopnarrower", "stopneimpachetat", "stopnotesubsollocale", "stopnumerotarelinii", "stopopozit", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stoppozitionare", "stopprodus", "stopprofil", "stopprofile", "stopproiect", "stopraster", "stopriglatext", "stopsincronizare", "stopsymbolset", "stopsynchronization", "stoptabel", "stoptabele", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptyping", "stopunpacked", "stopversiune", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "tab", "testcolumn", "testpage", "tex", "texteticheta", "textmarginal", "texttitlu", "textumplere", "title", "titlu", "titlumarginal", "tooltip", "traduce", "trecilafontraw", "trecilafonttext", "txt", "typ", "type", "typefile", "underbar", "underbars", "undeva", "urmeazaprofil", "urmeazaversiune", "urmeazaversiuneprofil", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "valoareculoare", "valoaregri", "variabilatext", "versiune", "vl", "zidinsaptamana" }, +} \ No newline at end of file diff --git a/context/data/scite/context/lexers/data/scite-context-data-metafun.lua b/context/data/scite/context/lexers/data/scite-context-data-metafun.lua new file mode 100644 index 000000000..50b9ecec4 --- /dev/null +++ b/context/data/scite/context/lexers/data/scite-context-data-metafun.lua @@ -0,0 +1,4 @@ +return { + ["commands"]={ "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "smoothed", "cornered", "superellipsed", "randomized", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withlinearshading", "withcircularshading", "withfromshadecolor", "withtoshadecolor", "withshading", "shadedinto", "withcircularshade", "withlinearshade", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "withmask", "figure", "register", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "textext", "thetextext", "rawtextext", "textextoffset", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "property", "properties", "withproperties", "asgroup", "infont", "set_linear_vector", "linear_shade", "define_linear_shade", "define_circular_linear_shade", "define_sampled_linear_shade", "set_circular_vector", "circular_shade", "define_circular_shade", "define_circular_linear_shade", "define_sampled_circular_shade", "space", "CRLF", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedpath", "constructedpairs", "punkedfunction", "curvedfunction", "tightfunction", "punkedpath", "curvedpath", "tightpath", "punkedpairs", "curvedpairs", "tightpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "normalfill", "normaldraw", "visualizepaths", "naturalizepaths", "drawboundary", "drawwholepath", "visualizeddraw", "visualizedfill", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointoptions", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "format", "formatted", "startpassingvariable", "stoppassingvariable" }, + ["internals"]={ "nocolormodel", "greycolormodel", "graycolormodel", "rgbcolormodel", "cmykcolormodel", "shadefactor", "textextoffset", "normaltransparent", "multiplytransparent", "screentransparent", "overlaytransparent", "softlighttransparent", "hardlighttransparent", "colordodgetransparent", "colorburntransparent", "darkentransparent", "lightentransparent", "differencetransparent", "exclusiontransparent", "huetransparent", "saturationtransparent", "colortransparent", "luminositytransparent", "metapostversion", "maxdimensions" }, +} \ No newline at end of file diff --git a/context/data/scite/context/lexers/data/scite-context-data-metapost.lua b/context/data/scite/context/lexers/data/scite-context-data-metapost.lua new file mode 100644 index 000000000..766ea90da --- /dev/null +++ b/context/data/scite/context/lexers/data/scite-context-data-metapost.lua @@ -0,0 +1,7 @@ +return { + ["commands"]={ "beginfig", "endfig", "beginglyph", "endglyph", "charscale", "rotatedaround", "reflectedabout", "arrowhead", "currentpen", "currentpicture", "cuttings", "defaultfont", "extra_beginfig", "extra_endfig", "ditto", "EOF", "down", "evenly", "fullcircle", "halfcircle", "identity", "in", "left", "origin", "pensquare", "quartercircle", "right", "unitsquare", "up", "withdots", "abs", "bbox", "ceiling", "center", "cutafter", "cutbefore", "dir", "directionpoint", "div", "dotprod", "intersectionpoint", "inverse", "mod", "round", "unitvector", "whatever", "cutdraw", "draw", "drawarrow", "drawdblarrow", "fill", "filldraw", "drawdot", "loggingall", "interact", "tracingall", "tracingnone", "pickup", "undraw", "unfill", "unfilldraw", "buildcycle", "dashpattern", "decr", "dotlabel", "dotlabels", "drawoptions", "incr", "label", "labels", "max", "min", "thelabel", "z", "beginchar", "blacker", "capsule_end", "change_width", "define_blacker_pixels", "define_corrected_pixels", "define_good_x_pixels", "define_good_y_pixels", "define_horizontal_corrected_pixels", "define_pixels", "define_whole_blacker_pixels", "define_whole_pixels", "define_whole_vertical_blacker_pixels", "define_whole_vertical_pixels", "endchar", "extra_beginchar", "extra_endchar", "extra_setup", "font_coding_scheme", "clearxy", "clearit", "clearpen", "shipit", "font_extra_space", "exitunless", "relax", "hide", "gobble", "gobbled", "stop", "blankpicture", "counterclockwise", "tensepath", "takepower", "direction", "softjoin", "makelabel", "rotatedabout", "flex", "superellipse", "erase", "image", "nullpen", "savepen", "clearpen", "penpos", "penlabels", "range", "numtok", "thru", "z", "laboff", "bye", "red", "green", "blue", "cyan", "magenta", "yellow", "black", "white", "background", "graypart", "graycolor", "mm", "pt", "dd", "bp", "cm", "pc", "cc", "in", "triplet", "quadruplet" }, + ["internals"]={ "mitered", "rounded", "beveled", "butt", "squared", "eps", "epsilon", "infinity", "bboxmargin", "ahlength", "ahangle", "labeloffset", "dotlabeldiam", "defaultpen", "defaultscale", "join_radius", "pen_lft", "pen_rt", "pen_top", "pen_bot" }, + ["primitives"]={ "charcode", "day", "linecap", "linejoin", "miterlimit", "month", "pausing", "prologues", "showstopping", "time", "tracingcapsules", "tracingchoices", "mpprocset", "tracingcommands", "tracingequations", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingrestores", "tracingspecs", "tracingstats", "tracingtitles", "truecorners", "warningcheck", "year", "false", "nullpicture", "pencircle", "true", "and", "angle", "arclength", "arctime", "ASCII", "boolean", "bot", "char", "color", "cosd", "cycle", "decimal", "directiontime", "floor", "fontsize", "hex", "infont", "intersectiontimes", "known", "length", "llcorner", "lrcorner", "makepath", "makepen", "mexp", "mlog", "normaldeviate", "not", "numeric", "oct", "odd", "or", "path", "pair", "pen", "penoffset", "picture", "point", "postcontrol", "precontrol", "reverse", "rotated", "scaled", "shifted", "sind", "slanted", "sqrt", "str", "string", "subpath", "substring", "transform", "transformed", "ulcorner", "uniformdeviate", "unknown", "urcorner", "xpart", "xscaled", "xxpart", "xypart", "ypart", "yscaled", "yxpart", "yypart", "zscaled", "addto", "clip", "input", "interim", "let", "newinternal", "save", "setbounds", "shipout", "show", "showdependencies", "showtoken", "showvariable", "special", "begingroup", "endgroup", "of", "curl", "tension", "and", "controls", "interpath", "on", "off", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", "tertiary", "primarydef", "secondarydef", "tertiarydef", "randomseed", "also", "contour", "doublepath", "withcolor", "withcmykcolor", "withpen", "dashed", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", "within", "forsuffixes", "downto", "upto", "step", "until", "charlist", "extensible", "fontdimen", "headerbyte", "kern", "ligtable", "boundarychar", "chardp", "charext", "charht", "charic", "charwd", "designsize", "fontmaking", "charexists", "cullit", "currenttransform", "gfcorners", "grayfont", "hround", "imagerules", "lowres_fix", "nodisplays", "notransforms", "openit", "displaying", "currentwindow", "screen_rows", "screen_cols", "pixels_per_inch", "cull", "display", "openwindow", "numspecial", "totalweight", "autorounding", "fillin", "proofing", "tracingpens", "xoffset", "chardx", "granularity", "smoothing", "turningcheck", "yoffset", "chardy", "hppp", "tracingedges", "vppp", "extra_beginfig", "extra_endfig", "mpxbreak", "endinput", "message", "delimiters", "turningnumber", "errmessage", "readstring", "scantokens", "end", "outer", "inner", "write", "to", "readfrom", "withprescript", "withpostscript", "top", "bot", "lft", "rt", "ulft", "urt", "llft", "lrt", "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "greypart", "prescriptpart", "postscriptpart", "rgbcolor", "cmykcolor", "greycolor", "graycolor", "colormodel", "graypart", "dashpart", "penpart", "stroked", "filled", "textual", "clipped", "bounded", "pathpart", "expandafter", "minute", "hour", "outputformat", "outputtemplate", "filenametemplate", "fontmapfile", "fontmapline", "fontpart", "fontsize", "glyph", "restoreclipcolor", "troffmode" }, + ["shortcuts"]={ "..", "...", "--", "---", "&" }, + ["tex"]={ "btex", "etex", "verbatimtex" }, +} \ No newline at end of file diff --git a/context/data/scite/context/lexers/data/scite-context-data-tex.lua b/context/data/scite/context/lexers/data/scite-context-data-tex.lua new file mode 100644 index 000000000..415b74128 --- /dev/null +++ b/context/data/scite/context/lexers/data/scite-context-data-tex.lua @@ -0,0 +1,9 @@ +return { + ["aleph"]={ "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "Omegaminorversion", "Omegarevision", "Omegaversion", "boxdir", "pagebottomoffset", "pagerightoffset" }, + ["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "detokenize", "dimexpr", "displaywidowpenalties", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "everyeof", "firstmarks", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "ifcsname", "ifdefined", "iffontchar", "interactionmode", "interlinepenalties", "lastlinefit", "lastnodetype", "marks", "muexpr", "mutoglue", "numexpr", "pagediscards", "parshapedimen", "parshapeindent", "parshapelength", "predisplaydirection", "protected", "readline", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "tracingscantokens", "unexpanded", "unless", "widowpenalties" }, + ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathchardef", "Umathcharnum", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", "Uroot", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "alignmark", "aligntab", "attribute", "attributedef", "catcodetable", "clearmarks", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "fontid", "formatname", "gleaders", "ifabsdim", "ifabsnum", "ifprimitive", "initcatcodetable", "latelua", "luaescapestring", "luastartup", "luatexdatestamp", "luatexrevision", "luatexversion", "luafunction", "mathstyle", "nokerns", "noligs", "outputbox", "pageleftoffset", "pagetopoffset", "postexhyphenchar", "posthyphenchar", "preexhyphenchar", "prehyphenchar", "primitive", "savecatcodetable", "scantextokens", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "synctex" }, + ["omega"]={ "OmegaVersion", "bodydir", "chardp", "charht", "charit", "charwd", "leftghost", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "mathdir", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical", "pagedir", "pageheight", "pagewidth", "pardir", "rightghost", "textdir" }, + ["pdftex"]={ "efcode", "expanded", "ifincsname", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "leftmarginkern", "letterspacefont", "lpcode", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagecolordepth", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoptionpdfminorversion", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "pdfximagebbox", "quitvmode", "rightmarginkern", "rpcode", "tagcode" }, + ["tex"]={ "-", "/", "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "OmegaVersion", "Omegaminorversion", "Omegarevision", "Omegaversion", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathchardef", "Umathcharnum", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", "Uroot", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnodetype", "lastpenalty", "lastskip", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letterspacefont", "limits", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luastartup", "luatexdatestamp", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathstyle", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nokerns", "noligs", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "numexpr", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "omit", "openin", "openout", "or", "oradical", "outer", "output", "outputbox", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagecolordepth", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoptionpdfminorversion", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "pdfximagebbox", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaydirection", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "quitvmode", "radical", "raise", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "savecatcodetable", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topmarks", "topskip", "tracingassigns", "tracingcommands", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "write", "xdef", "xleaders", "xspaceskip", "year" }, + ["xetex"]={ "XeTeXversion" }, +} \ No newline at end of file diff --git a/context/data/scite/context/lexers/lexer.lua b/context/data/scite/context/lexers/lexer.lua new file mode 100644 index 000000000..9582f6a76 --- /dev/null +++ b/context/data/scite/context/lexers/lexer.lua @@ -0,0 +1,3 @@ +-- this works ok: + +return require("scite-context-lexer") diff --git a/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua b/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua new file mode 100644 index 000000000..88b070e5e --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua @@ -0,0 +1,176 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for bibtex", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local global, string, table, lpeg = _G, string, table, lpeg +local P, R, S, V = lpeg.P, lpeg.R, lpeg.S, lpeg.V +local type = type + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token +local exact_match = lexer.exact_match + +local bibtexlexer = lexer.new("xml","scite-context-lexer-xml") +local whitespace = bibtexlexer.whitespace + + local escape, left, right = P("\\"), P('{'), P('}') + + patterns.balanced = P { + [1] = ((escape * (left+right)) + (1 - (left+right)) + V(2))^0, + [2] = left * V(1) * right + } + +-- taken from bibl-bib.lua + +local anything = patterns.anything +local percent = P("%") +local start = P("@") +local comma = P(",") +local hash = P("#") +local escape = P("\\") +local single = P("'") +local double = P('"') +local left = P('{') +local right = P('}') +local lineending = S("\n\r") +local space = S(" \t\n\r\f") +local spaces = space^1 +local equal = P("=") + +local keyword = (R("az","AZ","09") + S("@_:-"))^1 +local s_quoted = ((escape*single) + spaces^1 + (1-single))^0 +local d_quoted = ((escape*double) + spaces^1 + (1-double))^0 +local balanced = patterns.balanced + +local t_spacing = token(whitespace, space^1) +local t_optionalws = token("default", space^1)^0 + +local t_equal = token("operator",equal) +local t_left = token("grouping",left) +local t_right = token("grouping",right) +local t_comma = token("operator",comma) +local t_hash = token("operator",hash) + +local t_s_value = token("operator",single) + * token("text",s_quoted) + * token("operator",single) +local t_d_value = token("operator",double) + * token("text",d_quoted) + * token("operator",double) +local t_b_value = token("operator",left) + * token("text",balanced) + * token("operator",right) +local t_r_value = token("text",keyword) + +local t_keyword = token("keyword",keyword) +local t_key = token("command",keyword) +local t_label = token("warning",keyword) + +local t_somevalue = t_s_value + t_d_value + t_b_value + t_r_value +local t_value = t_somevalue + * ((t_optionalws * t_hash * t_optionalws) * t_somevalue)^0 + +local t_assignment = t_optionalws + * t_key + * t_optionalws + * t_equal + * t_optionalws + * t_value + +local t_shortcut = t_keyword + * t_optionalws + * t_left + * t_optionalws + * (t_assignment * t_comma^0)^0 + * t_optionalws + * t_right + +local t_definition = t_keyword + * t_optionalws + * t_left + * t_optionalws + * t_label + * t_optionalws + * t_comma + * (t_assignment * t_comma^0)^0 + * t_optionalws + * t_right + +local t_comment = t_keyword + * t_optionalws + * t_left + * token("text",(1-t_right)^0) + * t_optionalws + * t_right + +local t_forget = token("comment",percent^1 * (1-lineending)^0) + +local t_rest = token("default",anything) + +-- this kind of lexing seems impossible as the size of the buffer passed to the lexer is not +-- large enough .. but we can cheat and use this: +-- +-- function OnOpen(filename) editor:Colourise(1,editor.TextLength) end -- or is it 0? + +bibtexlexer._rules = { + { "whitespace", t_spacing }, + { "forget", t_forget }, + { "shortcut", t_shortcut }, + { "definition", t_definition }, + { "comment", t_comment }, + { "rest", t_rest }, +} + +-- local t_assignment = t_key +-- * t_optionalws +-- * t_equal +-- * t_optionalws +-- * t_value +-- +-- local t_shortcut = t_keyword +-- * t_optionalws +-- * t_left +-- +-- local t_definition = t_keyword +-- * t_optionalws +-- * t_left +-- * t_optionalws +-- * t_label +-- * t_optionalws +-- * t_comma +-- +-- bibtexlexer._rules = { +-- { "whitespace", t_spacing }, +-- { "assignment", t_assignment }, +-- { "definition", t_definition }, +-- { "shortcut", t_shortcut }, +-- { "right", t_right }, +-- { "comma", t_comma }, +-- { "forget", t_forget }, +-- { "comment", t_comment }, +-- { "rest", t_rest }, +-- } + +bibtexlexer._tokenstyles = context.styleset + +bibtexlexer._foldpattern = P("{") + P("}") + +bibtexlexer._foldsymbols = { + _patterns = { + "{", + "}", + }, + ["grouping"] = { + ["{"] = 1, + ["}"] = -1, + }, +} + +return bibtexlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-cld.lua b/context/data/scite/context/lexers/scite-context-lexer-cld.lua new file mode 100644 index 000000000..3442a195c --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-cld.lua @@ -0,0 +1,23 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for cld", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local cldlexer = lexer.new("cld","scite-context-lexer-cld") +local lualexer = lexer.load("scite-context-lexer-lua") + +-- can probably be done nicer now, a bit of a hack + +cldlexer._rules = lualexer._rules_cld +cldlexer._tokenstyles = lualexer._tokenstyles +cldlexer._foldsymbols = lualexer._foldsymbols +cldlexer._directives = lualexer._directives + +return cldlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-cpp-web.lua b/context/data/scite/context/lexers/scite-context-lexer-cpp-web.lua new file mode 100644 index 000000000..daa9221ba --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-cpp-web.lua @@ -0,0 +1,23 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for cpp web", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local cppweblexer = lexer.new("cpp-web","scite-context-lexer-cpp") +local cpplexer = lexer.load("scite-context-lexer-cpp") + +-- can probably be done nicer now, a bit of a hack + +cppweblexer._rules = cpplexer._rules_web +cppweblexer._tokenstyles = cpplexer._tokenstyles +cppweblexer._foldsymbols = cpplexer._foldsymbols +cppweblexer._directives = cpplexer._directives + +return cppweblexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-cpp.lua b/context/data/scite/context/lexers/scite-context-lexer-cpp.lua new file mode 100644 index 000000000..31180e6a5 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-cpp.lua @@ -0,0 +1,188 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for cpp", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- looks liks the original cpp lexer but web ready (so nothing special here yet) + +local P, R, S = lpeg.P, lpeg.R, lpeg.S + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token +local exact_match = lexer.exact_match + +local cpplexer = lexer.new("cpp","scite-context-lexer-cpp") +local whitespace = cpplexer.whitespace + +local keywords = { -- copied from cpp.lua + -- c + "asm", "auto", "break", "case", "const", "continue", "default", "do", "else", + "extern", "false", "for", "goto", "if", "inline", "register", "return", + "sizeof", "static", "switch", "true", "typedef", "volatile", "while", + "restrict", + -- hm + "_Bool", "_Complex", "_Pragma", "_Imaginary", + -- c++. + "catch", "class", "const_cast", "delete", "dynamic_cast", "explicit", + "export", "friend", "mutable", "namespace", "new", "operator", "private", + "protected", "public", "signals", "slots", "reinterpret_cast", + "static_assert", "static_cast", "template", "this", "throw", "try", "typeid", + "typename", "using", "virtual" +} + +local datatypes = { -- copied from cpp.lua + "bool", "char", "double", "enum", "float", "int", "long", "short", "signed", + "struct", "union", "unsigned", "void" +} + +local macros = { -- copied from cpp.lua + "define", "elif", "else", "endif", "error", "if", "ifdef", "ifndef", "import", + "include", "line", "pragma", "undef", "using", "warning" +} + +local space = patterns.space -- S(" \n\r\t\f\v") +local any = patterns.any +local restofline = patterns.restofline +local startofline = patterns.startofline + +local squote = P("'") +local dquote = P('"') +local period = P(".") +local escaped = P("\\") * P(1) +local slashes = P("//") +local begincomment = P("/*") +local endcomment = P("*/") +local percent = P("%") + +local hexadecimal = patterns.hexadecimal +local decimal = patterns.decimal +local float = patterns.float +local integer = P("-")^-1 * (hexadecimal + decimal) -- also in patterns ? + +local spacing = token(whitespace, space^1) +local rest = token("default", any) + +local shortcomment = token("comment", slashes * restofline^0) +local longcomment = token("comment", begincomment * (1-endcomment)^0 * endcomment^-1) + +local shortstring = token("quote", dquote) -- can be shared + * token("string", (escaped + (1-dquote))^0) + * token("quote", dquote) + + token("quote", squote) + * token("string", (escaped + (1-squote))^0) + * token("quote", squote) + +local number = token("number", float + integer) + +local validword = R("AZ","az","__") * R("AZ","az","__","09")^0 +local identifier = token("default",validword) + +local operator = token("special", S("+-*/%^!=<>;:{}[]().&|?~")) + +----- optionalspace = spacing^0 + +local p_keywords = exact_match(keywords ) +local p_datatypes = exact_match(datatypes) +local p_macros = exact_match(macros) + +local keyword = token("keyword", p_keywords) +local datatype = token("keyword", p_datatypes) +local identifier = token("default", validword) + +local macro = token("data", #P("#") * startofline * P("#") * S("\t ")^0 * p_macros) + +cpplexer._rules = { + { "whitespace", spacing }, + { "keyword", keyword }, + { "type", datatype }, + { "identifier", identifier }, + { "string", shortstring }, + { "longcomment", longcomment }, + { "shortcomment", shortcomment }, + { "number", number }, + { "macro", macro }, + { "operator", operator }, + { "rest", rest }, +} + +local web = lexer.loadluafile("scite-context-lexer-web-snippets") + +if web then + + lexer.inform("supporting web snippets in cpp lexer") + + cpplexer._rules_web = { + { "whitespace", spacing }, + { "keyword", keyword }, + { "type", datatype }, + { "identifier", identifier }, + { "string", shortstring }, + { "longcomment", longcomment }, + { "shortcomment", shortcomment }, + { "web", web.pattern }, + { "number", number }, + { "macro", macro }, + { "operator", operator }, + { "rest", rest }, + } + +else + + lexer.report("not supporting web snippets in cpp lexer") + + cpplexer._rules_web = { + { "whitespace", spacing }, + { "keyword", keyword }, + { "type", datatype }, + { "identifier", identifier }, + { "string", shortstring }, + { "longcomment", longcomment }, + { "shortcomment", shortcomment }, + { "number", number }, + { "macro", macro }, + { "operator", operator }, + { "rest", rest }, + } + +end + +cpplexer._tokenstyles = context.styleset + +cpplexer._foldpattern = P("/*") + P("*/") + S("{}") -- separate entry else interference + +cpplexer._foldsymbols = { + _patterns = { + "[{}]", + "/%*", + "%*/", + }, + -- ["data"] = { -- macro + -- ["region"] = 1, + -- ["endregion"] = -1, + -- ["if"] = 1, + -- ["ifdef"] = 1, + -- ["ifndef"] = 1, + -- ["endif"] = -1, + -- }, + ["special"] = { -- operator + ["{"] = 1, + ["}"] = -1, + }, + ["comment"] = { + ["/*"] = 1, + ["*/"] = -1, + } +} + +-- -- by indentation: + +cpplexer._foldpatterns = nil +cpplexer._foldsymbols = nil + +return cpplexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-lua-longstring.lua b/context/data/scite/context/lexers/scite-context-lexer-lua-longstring.lua new file mode 100644 index 000000000..855adbe4e --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-lua-longstring.lua @@ -0,0 +1,31 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for lua longstrings", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local lexer = require("lexer") -- require("scite-context-lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local stringlexer = lexer.new("lua-longstring","scite-context-lexer-lua-longstring") +local whitespace = stringlexer.whitespace + +local space = patterns.space +local nospace = 1 - space + +local p_spaces = token(whitespace, space ^1) +local p_string = token("string", nospace^1) + +stringlexer._rules = { + { "whitespace", p_spaces }, + { "string", p_string }, +} + +stringlexer._tokenstyles = context.styleset + +return stringlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-lua.lua b/context/data/scite/context/lexers/scite-context-lexer-lua.lua new file mode 100644 index 000000000..c44d586ba --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-lua.lua @@ -0,0 +1,373 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for lua", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- beware: all multiline is messy, so even if it's no lexer, it should be an embedded lexer +-- we probably could use a local whitespace variant but this is cleaner + +local P, R, S, C, Cmt, Cp = lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.Cmt, lpeg.Cp +local match, find = string.match, string.find +local setmetatable = setmetatable + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token +local exact_match = lexer.exact_match +local just_match = lexer.just_match + +local lualexer = lexer.new("lua","scite-context-lexer-lua") +local whitespace = lualexer.whitespace + +local stringlexer = lexer.load("scite-context-lexer-lua-longstring") + +local directives = { } -- communication channel + +-- this will be extended + +-- we could combine some in a hash that returns the class that then makes the token +-- this can save time on large files + +local keywords = { + "and", "break", "do", "else", "elseif", "end", "false", "for", "function", -- "goto", + "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", + "until", "while", +} + +local functions = { + "assert", "collectgarbage", "dofile", "error", "getmetatable", + "ipairs", "load", "loadfile", "module", "next", "pairs", + "pcall", "print", "rawequal", "rawget", "rawset", "require", + "setmetatable", "tonumber", "tostring", "type", "unpack", "xpcall", "select", + + "string", "table", "coroutine", "debug", "file", "io", "lpeg", "math", "os", "package", "bit32", +} + +local constants = { + "_G", "_VERSION", "_M", "...", "_ENV", + -- here too + "__add", "__call", "__concat", "__div", "__idiv", "__eq", "__gc", "__index", + "__le", "__lt", "__metatable", "__mode", "__mul", "__newindex", + "__pow", "__sub", "__tostring", "__unm", "__len", + "__pairs", "__ipairs", + "NaN", +} + +-- local tokenmappings = { } +-- +-- for i=1,#keywords do tokenmappings[keywords [i]] = "keyword" } +-- for i=1,#functions do tokenmappings[functions[i]] = "function" } +-- for i=1,#constants do tokenmappings[constants[i]] = "constant" } + +local internals = { -- __ + "add", "call", "concat", "div", "eq", "gc", "index", + "le", "lt", "metatable", "mode", "mul", "newindex", + "pow", "sub", "tostring", "unm", "len", +} + +local depricated = { + "arg", "arg.n", + "loadstring", "setfenv", "getfenv", + "pack", +} + +local csnames = { -- todo: option + "commands", + "context", + "ctx", + "metafun", + "metapost", +} + +local level = nil +local setlevel = function(_,i,s) level = s return i end + +local equals = P("=")^0 + +local longonestart = P("[[") +local longonestop = P("]]") +local longonestring = (1-longonestop)^0 + +local longtwostart = P("[") * Cmt(equals,setlevel) * P("[") +local longtwostop = P("]") * equals * P("]") + +local sentinels = { } setmetatable(sentinels, { __index = function(t,k) local v = "]" .. k .. "]" t[k] = v return v end }) + +local longtwostring = P(function(input,index) + if level then + -- local sentinel = "]" .. level .. "]" + local sentinel = sentinels[level] + local _, stop = find(input,sentinel,index,true) + return stop and stop + 1 - #sentinel or #input + 1 + end +end) + + local longtwostring_body = longtwostring + + local longtwostring_end = P(function(input,index) + if level then + -- local sentinel = "]" .. level .. "]" + local sentinel = sentinels[level] + local _, stop = find(input,sentinel,index,true) + return stop and stop + 1 or #input + 1 + end + end) + +local longcomment = Cmt(#("[[" + ("[" * C(equals) * "[")), function(input,index,level) + -- local sentinel = "]" .. level .. "]" + local sentinel = sentinels[level] + local _, stop = find(input,sentinel,index,true) + return stop and stop + 1 or #input + 1 +end) + +local space = patterns.space -- S(" \n\r\t\f\v") +local any = patterns.any +local eol = patterns.eol + +local squote = P("'") +local dquote = P('"') +local escaped = P("\\") * P(1) +local dashes = P("--") + +local spacing = token(whitespace, space^1) +local rest = token("default", any) + +local shortcomment = token("comment", dashes * (1-eol)^0) +local longcomment = token("comment", dashes * longcomment) + +-- fails on very long string with \ at end of lines (needs embedded lexer) +-- and also on newline before " but it makes no sense to waste time on it + +local shortstring = token("quote", dquote) + * token("string", (escaped + (1-dquote))^0) + * token("quote", dquote) + + token("quote", squote) + * token("string", (escaped + (1-squote))^0) + * token("quote", squote) + +----- longstring = token("quote", longonestart) +----- * token("string", longonestring) +----- * token("quote", longonestop) +----- + token("quote", longtwostart) +----- * token("string", longtwostring) +----- * token("quote", longtwostop) + +local string = shortstring +----- + longstring + +lexer.embed_lexer(lualexer, stringlexer, token("quote",longtwostart), token("string",longtwostring_body) * token("quote",longtwostring_end)) + +local integer = P("-")^-1 * (patterns.hexadecimal + patterns.decimal) +local number = token("number", patterns.float + integer) + +-- officially 127-255 are ok but not utf so useless + +----- validword = R("AZ","az","__") * R("AZ","az","__","09")^0 + +local utf8character = P(1) * R("\128\191")^1 +local validword = (R("AZ","az","__") + utf8character) * (R("AZ","az","__","09") + utf8character)^0 +local validsuffix = (R("AZ","az") + utf8character) * (R("AZ","az","__","09") + utf8character)^0 + +local identifier = token("default",validword) + +----- operator = token("special", P('..') + P('~=') + S('+-*/%^#=<>;:,.{}[]()')) -- maybe split off {}[]() +----- operator = token("special", S('+-*/%^#=<>;:,{}[]()') + P('..') + P('.') + P('~=') ) -- maybe split off {}[]() +----- operator = token("special", S('+-*/%^#=<>;:,{}[]().') + P('~=') ) -- no ^1 because of nested lexers +local operator = token("special", S('+-*/%^#=<>;:,{}[]().|~')) -- no ^1 because of nested lexers + +local structure = token("special", S('{}[]()')) + +local optionalspace = spacing^0 +local hasargument = #S("{([") + +local gotokeyword = token("keyword", P("goto")) + * spacing + * token("grouping",validword) +local gotolabel = token("keyword", P("::")) + * token("grouping",validword) + * token("keyword", P("::")) + +local p_keywords = exact_match(keywords) +local p_functions = exact_match(functions) +local p_constants = exact_match(constants) +local p_internals = P("__") + * exact_match(internals) +local p_csnames = just_match(csnames) +local keyword = token("keyword", p_keywords) +local builtin = token("plain", p_functions) +local constant = token("data", p_constants) +local internal = token("data", p_internals) +local csname = token("user", p_csnames) + * ( + optionalspace * hasargument + + ( optionalspace * token("special", S(".:")) * optionalspace * token("user", validword ) )^1 + + token("user", P("_") * validsuffix) + ) + +local identifier = token("default", validword) + * ( optionalspace * token("special", S(".:")) * optionalspace * ( + token("warning", p_keywords) + + token("data", p_internals) + + token("default", validword ) + ) )^0 + +-- local t = { } for k, v in next, tokenmappings do t[#t+1] = k end t = table.concat(t) +-- -- local experimental = (S(t)^1) / function(s) return tokenmappings[s] end * Cp() +-- +-- local experimental = Cmt(S(t)^1, function(_,i,s) +-- local t = tokenmappings[s] +-- if t then +-- return true, t, i +-- end +-- end) + +lualexer._rules = { + { "whitespace", spacing }, + { "keyword", keyword }, -- can be combined + -- { "structure", structure }, + { "function", builtin }, -- can be combined + { "constant", constant }, -- can be combined + -- { "experimental", experimental }, -- works but better split + { "csname", csname }, + { "goto", gotokeyword }, + { "identifier", identifier }, + { "string", string }, + { "number", number }, + { "longcomment", longcomment }, + { "shortcomment", shortcomment }, + { "label", gotolabel }, + { "operator", operator }, + { "rest", rest }, +} + +-- -- experiment +-- +-- local idtoken = R("az","AZ","__") +-- +-- function context.one_of_match(specification) +-- local pattern = idtoken -- the concat catches _ etc +-- local list = { } +-- for i=1,#specification do +-- local style = specification[i][1] +-- local words = specification[i][2] +-- pattern = pattern + S(table.concat(words)) +-- for i=1,#words do +-- list[words[i]] = style +-- end +-- end +-- return Cmt(pattern^1, function(_,i,s) +-- local style = list[s] +-- if style then +-- return true, { style, i } -- and i or nil +-- else +-- -- fail +-- end +-- end) +-- end +-- +-- local whatever = context.one_of_match { +-- { "keyword", keywords }, -- keyword +-- { "plain", functions }, -- builtin +-- { "data", constants }, -- constant +-- } +-- +-- lualexer._rules = { +-- { "whitespace", spacing }, +-- { "whatever", whatever }, +-- { "csname", csname }, +-- { "goto", gotokeyword }, +-- { "identifier", identifier }, +-- { "string", string }, +-- { "number", number }, +-- { "longcomment", longcomment }, +-- { "shortcomment", shortcomment }, +-- { "label", gotolabel }, +-- { "operator", operator }, +-- { "rest", rest }, +-- } + +lualexer._tokenstyles = context.styleset + +-- lualexer._foldpattern = R("az")^2 + S("{}[]") -- separate entry else interference + +lualexer._foldpattern = (P("end") + P("if") + P("do") + P("function") + P("repeat") + P("until")) * P(#(1 - R("az"))) + + S("{}[]") + +lualexer._foldsymbols = { + _patterns = { + "[a-z][a-z]+", + "[{}%[%]]", + }, + ["keyword"] = { -- challenge: if=0 then=1 else=-1 elseif=-1 + ["if"] = 1, -- if .. [then|else] .. end + ["do"] = 1, -- [while] do .. end + ["function"] = 1, -- function .. end + ["repeat"] = 1, -- repeat .. until + ["until"] = -1, + ["end"] = -1, + }, + ["comment"] = { + ["["] = 1, ["]"] = -1, + }, + -- ["quote"] = { -- confusing + -- ["["] = 1, ["]"] = -1, + -- }, + ["special"] = { + -- ["("] = 1, [")"] = -1, + ["{"] = 1, ["}"] = -1, + }, +} + +-- embedded in tex: + +local cstoken = R("az","AZ","\127\255") + S("@!?_") +local texcsname = P("\\") * cstoken^1 +local commentline = P("%") * (1-S("\n\r"))^0 + +local texcomment = token("comment", Cmt(commentline, function() return directives.cld_inline end)) + +local longthreestart = P("\\!!bs") +local longthreestop = P("\\!!es") +local longthreestring = (1-longthreestop)^0 + +local texstring = token("quote", longthreestart) + * token("string", longthreestring) + * token("quote", longthreestop) + +----- texcommand = token("user", texcsname) +local texcommand = token("warning", texcsname) + +-- local texstring = token("quote", longthreestart) +-- * (texcommand + token("string",P(1-texcommand-longthreestop)^1) - longthreestop)^0 -- we match long non-\cs sequences +-- * token("quote", longthreestop) + +-- local whitespace = "whitespace" +-- local spacing = token(whitespace, space^1) + +lualexer._directives = directives + +lualexer._rules_cld = { + { "whitespace", spacing }, + { "texstring", texstring }, + { "texcomment", texcomment }, + { "texcommand", texcommand }, + -- { "structure", structure }, + { "keyword", keyword }, + { "function", builtin }, + { "csname", csname }, + { "constant", constant }, + { "identifier", identifier }, + { "string", string }, + { "longcomment", longcomment }, + { "shortcomment", shortcomment }, -- should not be used inline so best signal it as comment (otherwise complex state till end of inline) + { "number", number }, + { "operator", operator }, + { "rest", rest }, +} + +return lualexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-mps.lua b/context/data/scite/context/lexers/scite-context-lexer-mps.lua new file mode 100644 index 000000000..b87ea83cb --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-mps.lua @@ -0,0 +1,177 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for metafun", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local global, string, table, lpeg = _G, string, table, lpeg +local P, R, S, V = lpeg.P, lpeg.R, lpeg.S, lpeg.V +local type = type + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token +local exact_match = lexer.exact_match + +local metafunlexer = lexer.new("mps","scite-context-lexer-mps") +local whitespace = metafunlexer.whitespace + +local metapostprimitives = { } +local metapostinternals = { } +local metapostshortcuts = { } +local metapostcommands = { } + +local metafuninternals = { } +local metafunshortcuts = { } +local metafuncommands = { } + +local mergedshortcuts = { } +local mergedinternals = { } + +do + + local definitions = context.loaddefinitions("scite-context-data-metapost") + + if definitions then + metapostprimitives = definitions.primitives or { } + metapostinternals = definitions.internals or { } + metapostshortcuts = definitions.shortcuts or { } + metapostcommands = definitions.commands or { } + end + + local definitions = context.loaddefinitions("scite-context-data-metafun") + + if definitions then + metafuninternals = definitions.internals or { } + metafunshortcuts = definitions.shortcuts or { } + metafuncommands = definitions.commands or { } + end + + for i=1,#metapostshortcuts do + mergedshortcuts[#mergedshortcuts+1] = metapostshortcuts[i] + end + for i=1,#metafunshortcuts do + mergedshortcuts[#mergedshortcuts+1] = metafunshortcuts[i] + end + + for i=1,#metapostinternals do + mergedinternals[#mergedinternals+1] = metapostinternals[i] + end + for i=1,#metafuninternals do + mergedinternals[#mergedinternals+1] = metafuninternals[i] + end + +end + +local space = patterns.space -- S(" \n\r\t\f\v") +local any = patterns.any + +local dquote = P('"') +local cstoken = patterns.idtoken +local mptoken = patterns.alpha +local leftbrace = P("{") +local rightbrace = P("}") +local number = patterns.real + +local cstokentex = R("az","AZ","\127\255") + S("@!?_") + +-- we could collapse as in tex + +local spacing = token(whitespace, space^1) +local rest = token("default", any) +local comment = token("comment", P("%") * (1-S("\n\r"))^0) +local internal = token("reserved", exact_match(mergedshortcuts,false)) +local shortcut = token("data", exact_match(mergedinternals)) +local helper = token("command", exact_match(metafuncommands)) +local plain = token("plain", exact_match(metapostcommands)) +local quoted = token("quote", dquote) + * token("string", P(1-dquote)^0) + * token("quote", dquote) +local texstuff = token("quote", P("btex ") + P("verbatimtex ")) + * token("string", P(1-P(" etex"))^0) + * token("quote", P(" etex")) +local primitive = token("primitive", exact_match(metapostprimitives)) +local identifier = token("default", cstoken^1) +local number = token("number", number) +local grouping = token("grouping", S("()[]{}")) -- can be an option +local special = token("special", S("#()[]{}<>=:\"")) -- or else := <> etc split +local texlike = token("warning", P("\\") * cstokentex^1) +local extra = token("extra", P("+-+") + P("++") + S("`~%^&_-+*/\'|\\")) + +local nested = P { leftbrace * (V(1) + (1-rightbrace))^0 * rightbrace } +local texlike = token("embedded", P("\\") * (P("MP") + P("mp")) * mptoken^1) + * spacing^0 + * token("grouping", leftbrace) + * token("default", (nested + (1-rightbrace))^0 ) + * token("grouping", rightbrace) + + token("warning", P("\\") * cstokentex^1) + +-- lua: we assume: lua ( "lua code" ) + +local cldlexer = lexer.load("scite-context-lexer-cld","mps-cld") + +local startlua = P("lua") * space^0 * P('(') * space^0 * P('"') +local stoplua = P('"') * space^0 * P(')') + +local startluacode = token("embedded", startlua) +local stopluacode = #stoplua * token("embedded", stoplua) + +lexer.embed_lexer(metafunlexer, cldlexer, startluacode, stopluacode) + +metafunlexer._rules = { + { "whitespace", spacing }, + { "comment", comment }, + { "internal", internal }, + { "shortcut", shortcut }, + { "helper", helper }, + { "plain", plain }, + { "primitive", primitive }, + { "texstuff", texstuff }, + { "identifier", identifier }, + { "number", number }, + { "quoted", quoted }, + -- { "grouping", grouping }, -- can be an option + { "special", special }, + { "texlike", texlike }, + { "extra", extra }, + { "rest", rest }, +} + +metafunlexer._tokenstyles = context.styleset + +metafunlexer._foldpattern = patterns.lower^2 -- separate entry else interference + +metafunlexer._foldsymbols = { + _patterns = { + "[a-z][a-z]+", + }, + ["plain"] = { + ["beginfig"] = 1, + ["endfig"] = -1, + ["beginglyph"] = 1, + ["endglyph"] = -1, + -- ["begingraph"] = 1, + -- ["endgraph"] = -1, + }, + ["primitive"] = { + ["def"] = 1, + ["vardef"] = 1, + ["primarydef"] = 1, + ["secondarydef" ] = 1, + ["tertiarydef"] = 1, + ["enddef"] = -1, + ["if"] = 1, + ["fi"] = -1, + ["for"] = 1, + ["forever"] = 1, + ["endfor"] = -1, + } +} + +-- if inspect then inspect(metafunlexer) end + +return metafunlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-pdf-object.lua b/context/data/scite/context/lexers/scite-context-lexer-pdf-object.lua new file mode 100644 index 000000000..1fb95838a --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-pdf-object.lua @@ -0,0 +1,136 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for pdf objects", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- no longer used: nesting lexers with whitespace in start/stop is unreliable + +local P, R, S, C, V = lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.V + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local pdfobjectlexer = lexer.new("pdfobj","scite-context-lexer-pdf-object") +local whitespace = pdfobjectlexer.whitespace + +local space = patterns.space +local spacing = patterns.spacing +local nospacing = patterns.nospacing +local anything = patterns.anything +local newline = patterns.eol +local real = patterns.real +local cardinal = patterns.cardinal + +local lparent = P("(") +local rparent = P(")") +local langle = P("<") +local rangle = P(">") +local escape = P("\\") +local unicodetrigger = P("feff") + +local nametoken = 1 - space - S("<>/[]()") +local name = P("/") * nametoken^1 + +local p_string = P { ( escape * anything + lparent * V(1) * rparent + (1 - rparent) )^0 } + +local t_spacing = token(whitespace, spacing) +local t_spaces = token(whitespace, spacing)^0 +local t_rest = token("default", nospacing) -- anything + +local p_stream = P("stream") +local p_endstream = P("endstream") +local p_obj = P("obj") +local p_endobj = P("endobj") +local p_reference = P("R") + +local p_objectnumber = patterns.cardinal +local p_comment = P("%") * (1-S("\n\r"))^0 + +local t_string = token("quote", lparent) + * token("string", p_string) + * token("quote", rparent) +local t_unicode = token("quote", langle) + * token("plain", unicodetrigger) + * token("string", (1-rangle)^1) + * token("quote", rangle) +local t_whatsit = token("quote", langle) + * token("string", (1-rangle)^1) + * token("quote", rangle) +local t_keyword = token("command", name) +local t_constant = token("constant", name) +local t_number = token("number", real) +-- t_reference = token("number", cardinal) +-- * t_spacing +-- * token("number", cardinal) +local t_reserved = token("number", P("true") + P("false") + P("NULL")) +local t_reference = token("warning", cardinal) + * t_spacing + * token("warning", cardinal) + * t_spacing + * token("keyword", p_reference) + +local t_comment = token("comment", p_comment) + +local t_openobject = token("warning", p_objectnumber * spacing) +-- * t_spacing + * token("warning", p_objectnumber * spacing) +-- * t_spacing + * token("keyword", p_obj) +local t_closeobject = token("keyword", p_endobj) + +local t_opendictionary = token("grouping", P("<<")) +local t_closedictionary = token("grouping", P(">>")) + +local t_openarray = token("grouping", P("[")) +local t_closearray = token("grouping", P("]")) + +-- todo: comment + +local t_stream = token("keyword", p_stream) +-- * token("default", newline * (1-newline*p_endstream*newline)^1 * newline) +-- * token("text", (1 - p_endstream)^1) + * (token("text", (1 - p_endstream-spacing)^1) + t_spacing)^1 + * token("keyword", p_endstream) + +local t_dictionary = { "dictionary", + dictionary = t_opendictionary * (t_spaces * t_keyword * t_spaces * V("whatever"))^0 * t_spaces * t_closedictionary, + array = t_openarray * (t_spaces * V("whatever"))^0 * t_spaces * t_closearray, + whatever = V("dictionary") + V("array") + t_constant + t_reference + t_string + t_unicode + t_number + t_reserved + t_whatsit, + } + +----- t_object = { "object", -- weird that we need to catch the end here (probably otherwise an invalid lpeg) +----- object = t_spaces * (V("dictionary") * t_spaces * t_stream^-1 + V("array") + V("number") + t_spaces) * t_spaces * t_closeobject, +----- dictionary = t_opendictionary * (t_spaces * t_keyword * t_spaces * V("whatever"))^0 * t_spaces * t_closedictionary, +----- array = t_openarray * (t_spaces * V("whatever"))^0 * t_spaces * t_closearray, +----- whatever = V("dictionary") + V("array") + t_constant + t_reference + t_string + t_unicode + t_number + t_reserved + t_whatsit, +----- number = t_number, +----- } + +local t_object = { "object", -- weird that we need to catch the end here (probably otherwise an invalid lpeg) + dictionary = t_dictionary.dictionary, + array = t_dictionary.array, + whatever = t_dictionary.whatever, + object = t_openobject^-1 * t_spaces * (V("dictionary") * t_spaces * t_stream^-1 + V("array") + V("number") + t_spaces) * t_spaces * t_closeobject, + number = t_number, + } + +pdfobjectlexer._shared = { + dictionary = t_dictionary, + object = t_object, + stream = t_stream, +} + +pdfobjectlexer._rules = { + { "whitespace", t_spacing }, -- in fact, here we don't want whitespace as it's top level lexer work + { "object", t_object }, +} + +pdfobjectlexer._tokenstyles = context.styleset + +return pdfobjectlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-pdf-xref.lua b/context/data/scite/context/lexers/scite-context-lexer-pdf-xref.lua new file mode 100644 index 000000000..7097c41a6 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-pdf-xref.lua @@ -0,0 +1,43 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for pdf xref", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- no longer used: nesting lexers with whitespace in start/stop is unreliable + +local P, R = lpeg.P, lpeg.R + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local pdfxreflexer = lexer.new("pdfxref","scite-context-lexer-pdf-xref") +local whitespace = pdfxreflexer.whitespace + +local spacing = patterns.spacing +local cardinal = patterns.cardinal +local alpha = patterns.alpha + +local t_spacing = token(whitespace, spacing) + +local p_xref = P("xref") +local t_xref = token("keyword",p_xref) + * token("number", cardinal * spacing * cardinal * spacing) + +local t_number = token("number", cardinal * spacing * cardinal * spacing) + * token("keyword", alpha) + +pdfxreflexer._rules = { + { "whitespace", t_spacing }, + { "xref", t_xref }, + { "number", t_number }, +} + +pdfxreflexer._tokenstyles = context.styleset + +return pdfxreflexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-pdf.lua b/context/data/scite/context/lexers/scite-context-lexer-pdf.lua new file mode 100644 index 000000000..f8e4e7380 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-pdf.lua @@ -0,0 +1,204 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for pdf", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- pdf is normally startic .. i.e. not edited so we don't really +-- need embedded lexers. + +local P, R, S, V = lpeg.P, lpeg.R, lpeg.S, lpeg.V + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local pdflexer = lexer.new("pdf","scite-context-lexer-pdf") +local whitespace = pdflexer.whitespace + +----- pdfobjectlexer = lexer.load("scite-context-lexer-pdf-object") +----- pdfxreflexer = lexer.load("scite-context-lexer-pdf-xref") + +local anything = patterns.anything +local space = patterns.space +local spacing = patterns.spacing +local nospacing = patterns.nospacing +local anything = patterns.anything +local restofline = patterns.restofline + +local t_whitespace = token(whitespace, spacing) +local t_spacing = token("default", spacing) +----- t_rest = token("default", nospacing) +local t_rest = token("default", anything) + +local p_comment = P("%") * restofline +local t_comment = token("comment", p_comment) + +-- whatever + +local space = patterns.space +local spacing = patterns.spacing +local nospacing = patterns.nospacing +local anything = patterns.anything +local newline = patterns.eol +local real = patterns.real +local cardinal = patterns.cardinal +local alpha = patterns.alpha + +local lparent = P("(") +local rparent = P(")") +local langle = P("<") +local rangle = P(">") +local escape = P("\\") +local unicodetrigger = P("feff") + +local nametoken = 1 - space - S("<>/[]()") +local name = P("/") * nametoken^1 + +local p_string = P { ( escape * anything + lparent * V(1) * rparent + (1 - rparent) )^0 } + +local t_spacing = token("default", spacing) +local t_spaces = token("default", spacing)^0 +local t_rest = token("default", nospacing) -- anything + +local p_stream = P("stream") +local p_endstream = P("endstream") +local p_obj = P("obj") +local p_endobj = P("endobj") +local p_reference = P("R") + +local p_objectnumber = patterns.cardinal +local p_comment = P("%") * (1-S("\n\r"))^0 + +local t_string = token("quote", lparent) + * token("string", p_string) + * token("quote", rparent) +local t_unicode = token("quote", langle) + * token("plain", unicodetrigger) + * token("string", (1-rangle)^1) + * token("quote", rangle) +local t_whatsit = token("quote", langle) + * token("string", (1-rangle)^1) + * token("quote", rangle) +local t_keyword = token("command", name) +local t_constant = token("constant", name) +local t_number = token("number", real) +-- t_reference = token("number", cardinal) +-- * t_spacing +-- * token("number", cardinal) +local t_reserved = token("number", P("true") + P("false") + P("NULL")) +-- t_reference = token("warning", cardinal * spacing * cardinal * spacing) +-- * token("keyword", p_reference) +local t_reference = token("warning", cardinal) + * t_spacing + * token("warning", cardinal) + * t_spacing + * token("keyword", p_reference) + +local t_comment = token("comment", p_comment) + +local t_openobject = token("warning", p_objectnumber) + * t_spacing + * token("warning", p_objectnumber) + * t_spacing + * token("keyword", p_obj) +-- t_openobject = token("warning", p_objectnumber * spacing) +-- * token("warning", p_objectnumber * spacing) +-- * token("keyword", p_obj) +local t_closeobject = token("keyword", p_endobj) + +local t_opendictionary = token("grouping", P("<<")) +local t_closedictionary = token("grouping", P(">>")) + +local t_openarray = token("grouping", P("[")) +local t_closearray = token("grouping", P("]")) + +local t_stream = token("keyword", p_stream) + * token("text", (1 - p_endstream)^1) + * token("keyword", p_endstream) + +local t_dictionary = { "dictionary", + dictionary = t_opendictionary * (t_spaces * t_keyword * t_spaces * V("whatever"))^0 * t_spaces * t_closedictionary, + array = t_openarray * (t_spaces * V("whatever"))^0 * t_spaces * t_closearray, + whatever = V("dictionary") + V("array") + t_constant + t_reference + t_string + t_unicode + t_number + t_reserved + t_whatsit, + } + +local t_object = { "object", -- weird that we need to catch the end here (probably otherwise an invalid lpeg) + dictionary = t_dictionary.dictionary, + array = t_dictionary.array, + whatever = t_dictionary.whatever, + object = t_openobject * t_spaces * (V("dictionary")^-1 * t_spaces * t_stream^-1 + V("array") + V("number") + t_spaces) * t_spaces * t_closeobject, + number = t_number, + } + +-- objects ... sometimes NUL characters play havoc ... and in xref we have +-- issues with embedded lexers that have spaces in the start and stop +-- conditions and this cannot be handled well either ... so, an imperfect +-- solution ... but anyway, there is not that much that can end up in +-- the root of the tree see we're sort of safe + +local p_trailer = P("trailer") +local t_trailer = token("keyword", p_trailer) + * t_spacing + * t_dictionary +-- t_trailer = token("keyword", p_trailer * spacing) +-- * t_dictionary + +local p_startxref = P("startxref") +local t_startxref = token("keyword", p_startxref) + * t_spacing + * token("number", cardinal) +-- t_startxref = token("keyword", p_startxref * spacing) +-- * token("number", cardinal) + +local p_xref = P("xref") +local t_xref = token("keyword",p_xref) + * t_spacing + * token("number", cardinal) + * t_spacing + * token("number", cardinal) + * spacing +-- t_xref = token("keyword",p_xref) +-- * token("number", spacing * cardinal * spacing * cardinal * spacing) + +local t_number = token("number", cardinal) + * t_spacing + * token("number", cardinal) + * t_spacing + * token("keyword", S("fn")) +-- t_number = token("number", cardinal * spacing * cardinal * spacing) +-- * token("keyword", S("fn")) + +pdflexer._rules = { + { "whitespace", t_whitespace }, + { "object", t_object }, + { "comment", t_comment }, + { "trailer", t_trailer }, + { "startxref", t_startxref }, + { "xref", t_xref }, + { "number", t_number }, + { "rest", t_rest }, +} + +pdflexer._tokenstyles = context.styleset + +-- lexer.inspect(pdflexer) + +-- collapser: obj endobj stream endstream + +pdflexer._foldpattern = p_obj + p_endobj + p_stream + p_endstream + +pdflexer._foldsymbols = { + ["keyword"] = { + ["obj"] = 1, + ["endobj"] = -1, + ["stream"] = 1, + ["endstream"] = -1, + }, +} + +return pdflexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-tex-web.lua b/context/data/scite/context/lexers/scite-context-lexer-tex-web.lua new file mode 100644 index 000000000..5d8859c26 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-tex-web.lua @@ -0,0 +1,23 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for tex web", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local texweblexer = lexer.new("tex-web","scite-context-lexer-tex") +local texlexer = lexer.load("scite-context-lexer-tex") + +-- can probably be done nicer now, a bit of a hack + +texweblexer._rules = texlexer._rules_web +texweblexer._tokenstyles = texlexer._tokenstyles +texweblexer._foldsymbols = texlexer._foldsymbols +texweblexer._directives = texlexer._directives + +return texweblexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-tex.lua b/context/data/scite/context/lexers/scite-context-lexer-tex.lua new file mode 100644 index 000000000..d67be2cd8 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-tex.lua @@ -0,0 +1,547 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for context", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- maybe: _LINEBYLINE variant for large files (no nesting) +-- maybe: protected_macros + +--[[ + + experiment dd 2009/10/28 .. todo: + + -- figure out if tabs instead of splits are possible + -- locate an option to enter name in file dialogue (like windows permits) + -- figure out why loading a file fails + -- we cannot print to the log pane + -- we cannot access props["keywordclass.macros.context.en"] + -- lexer.get_property only handles integers + -- we cannot run a command to get the location of mult-def.lua + + -- local interface = props["keywordclass.macros.context.en"] + -- local interface = lexer.get_property("keywordclass.macros.context.en","") + +]]-- + +local global, string, table, lpeg = _G, string, table, lpeg +local P, R, S, V, C, Cmt, Cp, Cc, Ct = lpeg.P, lpeg.R, lpeg.S, lpeg.V, lpeg.C, lpeg.Cmt, lpeg.Cp, lpeg.Cc, lpeg.Ct +local type, next = type, next +local find, match, lower, upper = string.find, string.match, string.lower, string.upper + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns +local inform = context.inform + +local token = lexer.token +local exact_match = lexer.exact_match + +local contextlexer = lexer.new("tex","scite-context-lexer-tex") +local whitespace = contextlexer.whitespace + +local cldlexer = lexer.load("scite-context-lexer-cld") +local mpslexer = lexer.load("scite-context-lexer-mps") + +local commands = { en = { } } +local primitives = { } +local helpers = { } +local constants = { } + +do -- todo: only once, store in global + + -- commands helpers primitives + + local definitions = context.loaddefinitions("scite-context-data-interfaces") + + if definitions then + local list = { } + for interface, list in next, definitions do + list[#list+1] = interface + local c = { } + for i=1,#list do + c[list[i]] = true + end + if interface ~= "en" then + list = definitions.en + if list then + for i=1,#list do + c[list[i]] = true + end + end + end + commands[interface] = c + end + inform("context user interfaces '%s' supported",table.concat(list," ")) + end + + local definitions = context.loaddefinitions("scite-context-data-context") + local overloaded = { } + + if definitions then + helpers = definitions.helpers or { } + constants = definitions.constants or { } + for i=1,#helpers do + overloaded[helpers[i]] = true + end + for i=1,#constants do + overloaded[constants[i]] = true + end + end + + local definitions = context.loaddefinitions("scite-context-data-tex") + + if definitions then + local function add(data,normal) + for k, v in next, data do + if v ~= "/" and v ~= "-" then + if not overloaded[v] then + primitives[#primitives+1] = v + end + if normal then + v = "normal" .. v + if not overloaded[v] then + primitives[#primitives+1] = v + end + end + end + end + end + add(definitions.tex,true) + add(definitions.etex,true) + add(definitions.pdftex,true) + add(definitions.aleph,true) + add(definitions.omega,true) + add(definitions.luatex,true) + add(definitions.xetex,true) + end + +end + +local currentcommands = commands.en or { } + +local cstoken = R("az","AZ","\127\255") + S("@!?_") + +local knowncommand = Cmt(cstoken^1, function(_,i,s) + return currentcommands[s] and i +end) + +local utfchar = context.utfchar +local wordtoken = context.patterns.wordtoken +local iwordtoken = context.patterns.iwordtoken +local wordpattern = context.patterns.wordpattern +local iwordpattern = context.patterns.iwordpattern +local invisibles = context.patterns.invisibles +local checkedword = context.checkedword +local styleofword = context.styleofword +local setwordlist = context.setwordlist +local validwords = false +local validminimum = 3 + +-- % language=uk + +-- fails (empty loop message) ... latest lpeg issue? + +local knownpreamble = Cmt(P("% "), function(input,i,_) -- todo : utfbomb, was #P("% ") + if i < 10 then + validwords, validminimum = false, 3 + local s, e, word = find(input,"^(.+)[\n\r]",i) -- combine with match + if word then + local interface = match(word,"interface=([a-z]+)") + if interface and #interface == 2 then + inform("enabling context user interface '%s'",interface) + currentcommands = commands[interface] or commands.en or { } + end + local language = match(word,"language=([a-z]+)") + validwords, validminimum = setwordlist(language) + end + end + return false +end) + +-- -- the token list contains { "style", endpos } entries +-- -- +-- -- in principle this is faster but it is also crash sensitive for large files + +-- local constants_hash = { } for i=1,#constants do constants_hash [constants [i]] = true end +-- local helpers_hash = { } for i=1,#helpers do helpers_hash [helpers [i]] = true end +-- local primitives_hash = { } for i=1,#primitives do primitives_hash[primitives[i]] = true end + +-- local specialword = Ct( P("\\") * Cmt( C(cstoken^1), function(input,i,s) +-- if currentcommands[s] then +-- return true, "command", i +-- elseif constants_hash[s] then +-- return true, "data", i +-- elseif helpers_hash[s] then +-- return true, "plain", i +-- elseif primitives_hash[s] then +-- return true, "primitive", i +-- else -- if starts with if then primitive +-- return true, "user", i +-- end +-- end) ) + +-- local specialword = P("\\") * Cmt( C(cstoken^1), function(input,i,s) +-- if currentcommands[s] then +-- return true, { "command", i } +-- elseif constants_hash[s] then +-- return true, { "data", i } +-- elseif helpers_hash[s] then +-- return true, { "plain", i } +-- elseif primitives_hash[s] then +-- return true, { "primitive", i } +-- else -- if starts with if then primitive +-- return true, { "user", i } +-- end +-- end) + +-- experiment: keep space with whatever ... less tables + +-- 10pt + +local commentline = P("%") * (1-S("\n\r"))^0 +local endline = S("\n\r")^1 + +local space = patterns.space -- S(" \n\r\t\f\v") +local any = patterns.any +local backslash = P("\\") +local hspace = S(" \t") + +local p_spacing = space^1 +local p_rest = any + +local p_preamble = knownpreamble +local p_comment = commentline +local p_command = backslash * knowncommand +local p_constant = backslash * exact_match(constants) +local p_helper = backslash * exact_match(helpers) +local p_primitive = backslash * exact_match(primitives) +local p_ifprimitive = P("\\if") * cstoken^1 +local p_csname = backslash * (cstoken^1 + P(1)) +local p_grouping = S("{$}") +local p_special = S("#()[]<>=\"") +local p_extra = S("`~%^&_-+/\'|") +local p_text = iwordtoken^1 --maybe add punctuation and space + +local p_reserved = backslash * ( + P("??") + R("az") * P("!") + ) * cstoken^1 + +local p_number = context.patterns.real +local p_unit = P("pt") + P("bp") + P("sp") + P("mm") + P("cm") + P("cc") + P("dd") + +-- no looking back = #(1-S("[=")) * cstoken^3 * #(1-S("=]")) + +-- This one gives stack overflows: +-- +-- local p_word = Cmt(iwordpattern, function(_,i,s) +-- if validwords then +-- return checkedword(validwords,validminimum,s,i) +-- else +-- -- return true, { "text", i } +-- return true, "text", i +-- end +-- end) +-- +-- So we use this one instead: + +----- p_word = Ct( iwordpattern / function(s) return styleofword(validwords,validminimum,s) end * Cp() ) -- the function can be inlined +local p_word = iwordpattern / function(s) return styleofword(validwords,validminimum,s) end * Cp() -- the function can be inlined + +----- p_text = (1 - p_grouping - p_special - p_extra - backslash - space + hspace)^1 + +-- keep key pressed at end-of syst-aux.mkiv: +-- +-- 0 : 15 sec +-- 1 : 13 sec +-- 2 : 10 sec +-- +-- the problem is that quite some style subtables get generated so collapsing ranges helps + +local option = 1 + +if option == 1 then + + p_comment = p_comment^1 + p_grouping = p_grouping^1 + p_special = p_special^1 + p_extra = p_extra^1 + + p_command = p_command^1 + p_constant = p_constant^1 + p_helper = p_helper^1 + p_primitive = p_primitive^1 + p_ifprimitive = p_ifprimitive^1 + p_reserved = p_reserved^1 + +elseif option == 2 then + + local included = space^0 + + p_comment = (p_comment * included)^1 + p_grouping = (p_grouping * included)^1 + p_special = (p_special * included)^1 + p_extra = (p_extra * included)^1 + + p_command = (p_command * included)^1 + p_constant = (p_constant * included)^1 + p_helper = (p_helper * included)^1 + p_primitive = (p_primitive * included)^1 + p_ifprimitive = (p_ifprimitive * included)^1 + p_reserved = (p_reserved * included)^1 + +end + +local p_invisible = invisibles^1 + +local spacing = token(whitespace, p_spacing ) + +local rest = token("default", p_rest ) +local preamble = token("preamble", p_preamble ) +local comment = token("comment", p_comment ) +local command = token("command", p_command ) +local constant = token("data", p_constant ) +local helper = token("plain", p_helper ) +local primitive = token("primitive", p_primitive ) +local ifprimitive = token("primitive", p_ifprimitive) +local reserved = token("reserved", p_reserved ) +local csname = token("user", p_csname ) +local grouping = token("grouping", p_grouping ) +local number = token("number", p_number ) + * token("constant", p_unit ) +local special = token("special", p_special ) +local reserved = token("reserved", p_reserved ) -- reserved internal preproc +local extra = token("extra", p_extra ) +local invisible = token("invisible", p_invisible ) +local text = token("default", p_text ) +local word = p_word + +----- startluacode = token("grouping", P("\\startluacode")) +----- stopluacode = token("grouping", P("\\stopluacode")) + +local luastatus = false +local luatag = nil +local lualevel = 0 + +local function startdisplaylua(_,i,s) + luatag = s + luastatus = "display" + cldlexer._directives.cld_inline = false + return true +end + +local function stopdisplaylua(_,i,s) + local ok = luatag == s + if ok then + cldlexer._directives.cld_inline = false + luastatus = false + end + return ok +end + +local function startinlinelua(_,i,s) + if luastatus == "display" then + return false + elseif not luastatus then + luastatus = "inline" + cldlexer._directives.cld_inline = true + lualevel = 1 + return true + else-- if luastatus == "inline" then + lualevel = lualevel + 1 + return true + end +end + +local function stopinlinelua_b(_,i,s) -- { + if luastatus == "display" then + return false + elseif luastatus == "inline" then + lualevel = lualevel + 1 -- ? + return false + else + return true + end +end + +local function stopinlinelua_e(_,i,s) -- } + if luastatus == "display" then + return false + elseif luastatus == "inline" then + lualevel = lualevel - 1 + local ok = lualevel <= 0 -- was 0 + if ok then + cldlexer._directives.cld_inline = false + luastatus = false + end + return ok + else + return true + end +end + +contextlexer._reset_parser = function() + luastatus = false + luatag = nil + lualevel = 0 +end + +local luaenvironment = P("lua") * (P("setups") + P("code") + P(true)) + + P("ctxfunction") * (P("definition") + P(true)) + +local inlinelua = P("\\") * ( + P("ctx") * (P("lua") + P("command") + P("late") * (P("lua") + P("command")) + P("function")) + + P("cld") * (P("command") + P("context")) + + P("luaexpr") + + (P("direct") + P("late")) * P("lua") + ) + +local startlua = P("\\start") * Cmt(luaenvironment,startdisplaylua) + + P("") * Cmt(P(true),stopdisplaylua) + + Cmt(P("{"),stopinlinelua_b) + + Cmt(P("}"),stopinlinelua_e) + +local startluacode = token("embedded", startlua) +local stopluacode = #stoplua * token("embedded", stoplua) + +local metafuncall = ( P("reusable") + P("usable") + P("unique") + P("use") + P("reuse") ) * ("MPgraphic") + + P("uniqueMPpagegraphic") + + P("MPpositiongraphic") + +local metafunenvironment = metafuncall -- ( P("use") + P("reusable") + P("unique") ) * ("MPgraphic") + + P("MP") * ( P("code")+ P("page") + P("inclusions") + P("initializations") + P("definitions") + P("extensions") + P("graphic") + P("calculation") ) + +local startmetafun = P("\\start") * metafunenvironment +local stopmetafun = P("\\stop") * metafunenvironment -- todo match start + +local openargument = token("special", P("{")) +local closeargument = token("special", P("}")) +local argumentcontent = token("default",(1-P("}"))^0) -- maybe space needs a treatment + +local metafunarguments = (spacing^0 * openargument * argumentcontent * closeargument)^-2 + +local startmetafuncode = token("embedded", startmetafun) * metafunarguments +local stopmetafuncode = token("embedded", stopmetafun) + +local callers = token("embedded", P("\\") * metafuncall) * metafunarguments + +lexer.embed_lexer(contextlexer, cldlexer, startluacode, stopluacode) +lexer.embed_lexer(contextlexer, mpslexer, startmetafuncode, stopmetafuncode) + +contextlexer._rules = { + { "whitespace", spacing }, + { "preamble", preamble }, + { "word", word }, + { "text", text }, -- non words + { "comment", comment }, + { "constant", constant }, + { "callers", callers }, + { "helper", helper }, + { "command", command }, + { "primitive", primitive }, + { "ifprimitive", ifprimitive }, + { "reserved", reserved }, + { "csname", csname }, + -- { "whatever", specialword }, -- not yet, crashes + { "grouping", grouping }, + -- { "number", number }, + { "special", special }, + { "extra", extra }, + { "invisible", invisible }, + { "rest", rest }, +} + +-- Watch the text grabber, after all, we're talking mostly of text (beware, +-- no punctuation here as it can be special). We might go for utf here. + +local web = lexer.loadluafile("scite-context-lexer-web-snippets") + +if web then + + lexer.inform("supporting web snippets in tex lexer") + + contextlexer._rules_web = { + { "whitespace", spacing }, + { "text", text }, -- non words + { "comment", comment }, + { "constant", constant }, + { "callers", callers }, + { "helper", helper }, + { "command", command }, + { "primitive", primitive }, + { "ifprimitive", ifprimitive }, + { "reserved", reserved }, + { "csname", csname }, + { "grouping", grouping }, + { "special", special }, + { "extra", extra }, + { "invisible", invisible }, + { "web", web.pattern }, + { "rest", rest }, + } + +else + + lexer.report("not supporting web snippets in tex lexer") + + contextlexer._rules_web = { + { "whitespace", spacing }, + { "text", text }, -- non words + { "comment", comment }, + { "constant", constant }, + { "callers", callers }, + { "helper", helper }, + { "command", command }, + { "primitive", primitive }, + { "ifprimitive", ifprimitive }, + { "reserved", reserved }, + { "csname", csname }, + { "grouping", grouping }, + { "special", special }, + { "extra", extra }, + { "invisible", invisible }, + { "rest", rest }, + } + +end + +contextlexer._tokenstyles = context.styleset + +local environment = { + ["\\start"] = 1, ["\\stop"] = -1, + -- ["\\begin"] = 1, ["\\end" ] = -1, +} + +-- local block = { +-- ["\\begin"] = 1, ["\\end" ] = -1, +-- } + +local group = { + ["{"] = 1, ["}"] = -1, +} + +contextlexer._foldpattern = P("\\" ) * (P("start") + P("stop")) + S("{}") -- separate entry else interference + +contextlexer._foldsymbols = { -- these need to be style references + _patterns = { + "\\start", "\\stop", -- regular environments + -- "\\begin", "\\end", -- (moveable) blocks + "[{}]", + }, + ["command"] = environment, + ["constant"] = environment, + ["data"] = environment, + ["user"] = environment, + ["embedded"] = environment, + ["grouping"] = group, +} + +-- context.inspect(contextlexer) + +return contextlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-txt.lua b/context/data/scite/context/lexers/scite-context-lexer-txt.lua new file mode 100644 index 000000000..43eec2c35 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-txt.lua @@ -0,0 +1,80 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for plain text (with spell checking)", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local P, S, Cmt, Cp = lpeg.P, lpeg.S, lpeg.Cmt, lpeg.Cp +local find, match = string.find, string.match + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local textlexer = lexer.new("txt","scite-context-lexer-txt") +local whitespace = textlexer.whitespace + +local space = patterns.space +local any = patterns.any +local wordtoken = patterns.wordtoken +local wordpattern = patterns.wordpattern + +local checkedword = context.checkedword +local styleofword = context.styleofword +local setwordlist = context.setwordlist +local validwords = false +local validminimum = 3 + +-- local styleset = context.newstyleset { +-- "default", +-- "text", "okay", "error", "warning", +-- "preamble", +-- } + +-- [#!-%] language=uk + +local p_preamble = Cmt((S("#!-%") * P(" ")), function(input,i,_) -- todo: utf bomb no longer # + if i == 1 then -- < 10 then + validwords, validminimum = false, 3 + local s, e, line = find(input,"^[#!%-%%](.+)[\n\r]",i) + if line then + local language = match(line,"language=([a-z]+)") + if language then + validwords, validminimum = setwordlist(language) + end + end + end + return false +end) + +local t_preamble = + token("preamble", p_preamble) + +local t_word = + wordpattern / function(s) return styleofword(validwords,validminimum,s) end * Cp() -- the function can be inlined + +local t_text = + token("default", wordtoken^1) + +local t_rest = + token("default", (1-wordtoken-space)^1) + +local t_spacing = + token(whitespace, space^1) + +textlexer._rules = { + { "whitespace", t_spacing }, + { "preamble", t_preamble }, + { "word", t_word }, -- words >= 3 + { "text", t_text }, -- non words + { "rest", t_rest }, +} + +textlexer._LEXBYLINE = true -- new (needs testing, not yet as the system changed in 3.24) +textlexer._tokenstyles = context.styleset + +return textlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-web-snippets.lua b/context/data/scite/context/lexers/scite-context-lexer-web-snippets.lua new file mode 100644 index 000000000..196a545bc --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-web-snippets.lua @@ -0,0 +1,133 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for web snippets", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local P, R, S, C, Cg, Cb, Cs, Cmt, lpegmatch = lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.Cg, lpeg.Cb, lpeg.Cs, lpeg.Cmt, lpeg.match + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local websnippets = { } + +local space = patterns.space -- S(" \n\r\t\f\v") +local any = patterns.any +local restofline = patterns.restofline +local startofline = patterns.startofline + +local squote = P("'") +local dquote = P('"') +local period = P(".") + +local t_whitespace = token(whitespace, space^1) +local t_spacing = token("default", space^1) +local t_rest = token("default", any) + +-- the web subset + +local p_beginofweb = P("@") +local p_endofweb = P("@>") + +-- @, @/ @| @# @+ @; @[ @] + +local p_directive_1 = p_beginofweb * S(",/|#+;[]") +local t_directive_1 = token("label",p_directive_1) + +-- @.text @>(monospaced) +-- @:text @>(macro driven) +-- @= verbose@> +-- @! underlined @> +-- @t text @> (hbox) +-- @q ignored @> + +local p_typeset = p_beginofweb * S(".:=!tq") +local t_typeset = token("label",p_typeset) * token("warning",(1-p_endofweb)^1) * token("label",p_endofweb) + +-- @^index@> + +local p_index = p_beginofweb * P("^") +local t_index = token("label",p_index) * token("function",(1-p_endofweb)^1) * token("label",p_endofweb) + +-- @f text renderclass + +local p_render = p_beginofweb * S("f") +local t_render = token("label",p_render) * t_spacing * token("warning",(1-space)^1) * t_spacing * token("label",(1-space)^1) + +-- @s idem +-- @p idem +-- @& strip (spaces before) +-- @h + +local p_directive_2 = p_beginofweb * S("sp&h") +local t_directive_2 = token("label",p_directive_2) + +-- @< ... @> [=|+=|] +-- @(foo@> + +local p_reference = p_beginofweb * S("<(") +local t_reference = token("label",p_reference) * token("function",(1-p_endofweb)^1) * token("label",p_endofweb * (P("+=") + P("="))^-1) + +-- @'char' (ascii code) + +local p_character = p_beginofweb * S("'") +local t_character = token("label",p_character) * token("reserved",(1-squote)^1) * token("label",squote) + +-- @l nonascii + +local p_nonascii = p_beginofweb * S("l") +local t_nonascii = token("label",p_nonascii) * t_spacing * token("reserved",(1-space)^1) + +-- @x @y @z changefile +-- @i webfile + +local p_filename = p_beginofweb * S("xyzi") +local t_filename = token("label",p_filename) * t_spacing * token("reserved",(1-space)^1) + +-- @@ escape + +local p_escape = p_beginofweb * p_beginofweb +local t_escape = token("text",p_escape) + +-- structure + +-- @* title. + +-- local p_section = p_beginofweb * P("*")^1 +-- local t_section = token("label",p_section) * t_spacing * token("function",(1-period)^1) * token("label",period) + +-- @ explanation + +-- local p_explanation = p_beginofweb +-- local t_explanation = token("label",p_explanation) * t_spacing^1 + +-- @d macro + +-- local p_macro = p_beginofweb * P("d") +-- local t_macro = token("label",p_macro) + +-- @c code + +-- local p_code = p_beginofweb * P("c") +-- local t_code = token("label",p_code) + +websnippets.pattern = P ( + t_typeset + + t_index + + t_render + + t_reference + + t_filename + + t_directive_1 + + t_directive_2 + + t_character + + t_nonascii + + t_escape +) + + +return websnippets diff --git a/context/data/scite/context/lexers/scite-context-lexer-web.lua b/context/data/scite/context/lexers/scite-context-lexer-web.lua new file mode 100644 index 000000000..86ae76644 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-web.lua @@ -0,0 +1,67 @@ +local info = { + version = 1.003, + comment = "scintilla lpeg lexer for web", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local P, R, S = lpeg.P, lpeg.R, lpeg.S + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token +local exact_match = lexer.exact_match + +local weblexer = lexer.new("web","scite-context-lexer-web") +local whitespace = weblexer.whitespace + +local space = patterns.space -- S(" \n\r\t\f\v") +local any = patterns.any +local restofline = patterns.restofline +local startofline = patterns.startofline + +local period = P(".") +local percent = P("%") + +local spacing = token(whitespace, space^1) +local rest = token("default", any) + +local eop = P("@>") +local eos = eop * P("+")^-1 * P("=") + +-- we can put some of the next in the web-snippets file +-- is f okay here? + +local texcomment = token("comment", percent * restofline^0) + +local texpart = token("label",P("@")) * #spacing + + token("label",P("@") * P("*")^1) * token("function",(1-period)^1) * token("label",period) +local midpart = token("label",P("@d")) * #spacing + + token("label",P("@f")) * #spacing +local cpppart = token("label",P("@c")) * #spacing + + token("label",P("@p")) * #spacing + + token("label",P("@") * S("<(")) * token("function",(1-eop)^1) * token("label",eos) + +local anypart = P("@") * ( P("*")^1 + S("dfcp") + space^1 + S("<(") * (1-eop)^1 * eos ) +local limbo = 1 - anypart - percent + +local texlexer = lexer.load("scite-context-lexer-tex-web") +local cpplexer = lexer.load("scite-context-lexer-cpp-web") + +lexer.embed_lexer(weblexer, texlexer, texpart + limbo, #anypart) +lexer.embed_lexer(weblexer, cpplexer, cpppart + midpart, #anypart) + +local texcomment = token("comment", percent * restofline^0) + +weblexer._rules = { + { "whitespace", spacing }, + { "texcomment", texcomment }, -- else issues with first tex section + { "rest", rest }, +} + +weblexer._tokenstyles = context.styleset + +return weblexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-xml-cdata.lua b/context/data/scite/context/lexers/scite-context-lexer-xml-cdata.lua new file mode 100644 index 000000000..e6276da0d --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-xml-cdata.lua @@ -0,0 +1,33 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for xml cdata", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local P = lpeg.P + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local xmlcdatalexer = lexer.new("xml-cdata","scite-context-lexer-xml-cdata") +local whitespace = xmlcdatalexer.whitespace + +local space = patterns.space +local nospace = 1 - space - P("]]>") + +local t_spaces = token(whitespace, space ^1) +local t_cdata = token("comment", nospace^1) + +xmlcdatalexer._rules = { + { "whitespace", t_spaces }, + { "cdata", t_cdata }, +} + +xmlcdatalexer._tokenstyles = context.styleset + +return xmlcdatalexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-xml-comment.lua b/context/data/scite/context/lexers/scite-context-lexer-xml-comment.lua new file mode 100644 index 000000000..b5b3fefe0 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-xml-comment.lua @@ -0,0 +1,33 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for xml comments", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local P = lpeg.P + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local xmlcommentlexer = lexer.new("xml-comment","scite-context-lexer-xml-comment") +local whitespace = xmlcommentlexer.whitespace + +local space = patterns.space +local nospace = 1 - space - P("-->") + +local t_spaces = token(whitespace, space ^1) +local t_comment = token("comment", nospace^1) + +xmlcommentlexer._rules = { + { "whitespace", t_spaces }, + { "comment", t_comment }, +} + +xmlcommentlexer._tokenstyles = context.styleset + +return xmlcommentlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-xml-script.lua b/context/data/scite/context/lexers/scite-context-lexer-xml-script.lua new file mode 100644 index 000000000..bbb938dc5 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-xml-script.lua @@ -0,0 +1,33 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for xml script", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +local P = lpeg.P + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local xmlscriptlexer = lexer.new("xml-script","scite-context-lexer-xml-script") +local whitespace = xmlscriptlexer.whitespace + +local space = patterns.space +local nospace = 1 - space - (P("") + +local t_spaces = token(whitespace, space ^1) +local t_script = token("default", nospace^1) + +xmlscriptlexer._rules = { + { "whitespace", t_spaces }, + { "script", t_script }, +} + +xmlscriptlexer._tokenstyles = context.styleset + +return xmlscriptlexer diff --git a/context/data/scite/context/lexers/scite-context-lexer-xml.lua b/context/data/scite/context/lexers/scite-context-lexer-xml.lua new file mode 100644 index 000000000..77c89b1d6 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer-xml.lua @@ -0,0 +1,350 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer for xml", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- adapted from the regular context pretty printer code (after all, lexing +-- boils down to much of the same and there are only so many ways to do +-- things). Simplified a bit as we have a different nesting model. + +-- todo: parse entities in attributes + +local global, string, table, lpeg = _G, string, table, lpeg +local P, R, S, C, Cmt, Cp = lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.Cmt, lpeg.Cp +local type = type +local match, find = string.match, string.find + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token +local exact_match = lexer.exact_match + +local xmllexer = lexer.new("xml","scite-context-lexer-xml") +local whitespace = xmllexer.whitespace + +local xmlcommentlexer = lexer.load("scite-context-lexer-xml-comment") +local xmlcdatalexer = lexer.load("scite-context-lexer-xml-cdata") +local xmlscriptlexer = lexer.load("scite-context-lexer-xml-script") +local lualexer = lexer.load("scite-context-lexer-lua") + +local space = patterns.space +local any = patterns.any + +local dquote = P('"') +local squote = P("'") +local colon = P(":") +local semicolon = P(";") +local equal = P("=") +local ampersand = P("&") + +local name = (R("az","AZ","09") + S("_-."))^1 +local openbegin = P("<") +local openend = P("") + P(">") +local closeend = P(">") +local opencomment = P("") +local openinstruction = P("") +local opencdata = P("") +local opendoctype = P("") + P(">") +local openscript = openbegin * (P("script") + P("SCRIPT")) * (1-closeend)^0 * closeend -- begin +local closescript = openend * (P("script") + P("SCRIPT")) * closeend + +local openlua = "" + +-- +-- +-- +-- +-- +-- + +local entity = ampersand * (1-semicolon)^1 * semicolon + +local utfchar = context.utfchar +local wordtoken = context.patterns.wordtoken +local iwordtoken = context.patterns.iwordtoken +local wordpattern = context.patterns.wordpattern +local iwordpattern = context.patterns.iwordpattern +local invisibles = context.patterns.invisibles +local checkedword = context.checkedword +local styleofword = context.styleofword +local setwordlist = context.setwordlist +local validwords = false +local validminimum = 3 + +-- +-- +-- + +local t_preamble = Cmt(P("]*%?>%s*<%?context%-directive%s+editor%s+language%s+(..)%s+%?>") + -- if not language then + -- language = match(input,"^<%?xml[^>]*language=[\"\'](..)[\"\'][^>]*%?>",i) + -- end + if language then + validwords, validminimum = setwordlist(language) + end + end + return false +end) + +local t_word = +-- Ct( iwordpattern / function(s) return styleofword(validwords,validminimum,s) end * Cp() ) -- the function can be inlined + iwordpattern / function(s) return styleofword(validwords,validminimum,s) end * Cp() -- the function can be inlined + +local t_rest = + token("default", any) + +local t_text = + token("default", (1-S("<>&")-space)^1) + +local t_spacing = + token(whitespace, space^1) + +local t_optionalwhitespace = + token("default", space^1)^0 + +local t_localspacing = + token("default", space^1) + +-- Because we want a differently colored open and close we need an embedded lexer (whitespace +-- trigger). What is actually needed is that scintilla applies the current whitespace style. +-- Even using different style keys is not robust as they can be shared. I'll fix the main +-- lexer code. + +local t_sstring = + token("quote",dquote) + * token("string",(1-dquote)^0) -- different from context + * token("quote",dquote) + +local t_dstring = + token("quote",squote) + * token("string",(1-squote)^0) -- different from context + * token("quote",squote) + +-- local t_comment = +-- token("command",opencomment) +-- * token("comment",(1-closecomment)^0) -- different from context +-- * token("command",closecomment) + +-- local t_cdata = +-- token("command",opencdata) +-- * token("comment",(1-closecdata)^0) -- different from context +-- * token("command",closecdata) + +-- maybe cdata just text (then we don't need the extra lexer as we only have one comment then) + +-- +-- +-- +-- +-- +-- + +-- +-- +-- + +local t_docstr = t_dstring + t_sstring + +local t_docent = token("command",P("")) + +local t_docele = token("command",P("")) + +local t_docset = token("command",P("[")) + * t_optionalwhitespace + * ((t_optionalwhitespace * (t_docent + t_docele))^1 + token("comment",(1-P("]"))^0)) + * t_optionalwhitespace + * token("command",P("]")) + +local t_doctype = token("command",P("")) + +lexer.embed_lexer(xmllexer, lualexer, token("command", openlua), token("command", closelua)) +lexer.embed_lexer(xmllexer, xmlcommentlexer, token("command", opencomment), token("command", closecomment)) +lexer.embed_lexer(xmllexer, xmlcdatalexer, token("command", opencdata), token("command", closecdata)) +lexer.embed_lexer(xmllexer, xmlscriptlexer, token("command", openscript), token("command", closescript)) + +-- local t_name = +-- token("plain",name) +-- * ( +-- token("default",colon) +-- * token("keyword",name) +-- ) +-- + token("keyword",name) + +local t_name = -- more robust + token("plain",name * colon)^-1 + * token("keyword",name) + +-- local t_key = +-- token("plain",name) +-- * ( +-- token("default",colon) +-- * token("constant",name) +-- ) +-- + token("constant",name) + +local t_key = + token("plain",name * colon)^-1 + * token("constant",name) + +local t_attributes = ( + t_optionalwhitespace + * t_key + * t_optionalwhitespace + * token("plain",equal) + * t_optionalwhitespace + * (t_dstring + t_sstring) + * t_optionalwhitespace +)^0 + +local t_open = + token("keyword",openbegin) + * ( + t_name + * t_optionalwhitespace + * t_attributes + * token("keyword",closebegin) + + + token("error",(1-closebegin)^1) + ) + +local t_close = + token("keyword",openend) + * ( + t_name + * t_optionalwhitespace + * token("keyword",closeend) + + + token("error",(1-closeend)^1) + ) + +local t_entity = + token("constant",entity) + +local t_instruction = + token("command",openinstruction * P("xml")) + * t_optionalwhitespace + * t_attributes + * t_optionalwhitespace + * token("command",closeinstruction) + + token("command",openinstruction * name) + * token("default",(1-closeinstruction)^1) + * token("command",closeinstruction) + +local t_invisible = + token("invisible",invisibles^1) + +-- local t_preamble = +-- token("preamble", t_preamble ) + +xmllexer._rules = { + { "whitespace", t_spacing }, + { "preamble", t_preamble }, + { "word", t_word }, + -- { "text", t_text }, + -- { "comment", t_comment }, + -- { "cdata", t_cdata }, + { "doctype", t_doctype }, + { "instruction", t_instruction }, + { "close", t_close }, + { "open", t_open }, + { "entity", t_entity }, + { "invisible", t_invisible }, + { "rest", t_rest }, +} + +xmllexer._tokenstyles = context.styleset + +xmllexer._foldpattern = P("") -- separate entry else interference ++ P("") + +xmllexer._foldsymbols = { + _patterns = { + "", + "<", + }, + ["keyword"] = { + [""] = -1, + ["<"] = 1, + }, + ["command"] = { + [""] = -1, + [""] = -1, + ["<"] = 1, + }, +} + +return xmllexer diff --git a/context/data/scite/context/lexers/scite-context-lexer.lua b/context/data/scite/context/lexers/scite-context-lexer.lua new file mode 100644 index 000000000..6335af911 --- /dev/null +++ b/context/data/scite/context/lexers/scite-context-lexer.lua @@ -0,0 +1,2018 @@ +local info = { + version = 1.400, + comment = "basics for scintilla lpeg lexer for context/metafun", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", + comment = "contains copyrighted code from mitchell.att.foicica.com", + +} + +-- todo: hook into context resolver etc +-- todo: only old api in lexers, rest in context subnamespace +-- todo: make sure we can run in one state .. copies or shared? +-- todo: auto-nesting + +local log = false +local trace = false +local detail = false +local show = false -- nice for tracing (also for later) +local collapse = false -- can save some 15% (maybe easier on scintilla) +local inspect = false -- can save some 15% (maybe easier on scintilla) + +-- local log = true +-- local trace = true + +-- GET GOING +-- +-- You need to copy this file over lexer.lua. In principle other lexers could +-- work too but not now. Maybe some day. All patterns will move into the patterns +-- name space. I might do the same with styles. If you run an older version of +-- SciTE you can take one of the archives. Pre 3.41 versions can just be copied +-- to the right path, as there we still use part of the normal lexer. +-- +-- REMARK +-- +-- We started using lpeg lexing as soon as it came available. Because we had +-- rather demanding files an dalso wanted to use nested lexers, we ended up with +-- our own variant (more robust and faster). As a consequence successive versions +-- had to be adapted to changes in the (still unstable) api. In addition to +-- lexing we also have spell checking and such. +-- +-- STATUS +-- +-- todo: maybe use a special stripped version of the dll (stable api) +-- todo: play with hotspot and other properties +-- wish: access to all scite properties and in fact integrate in scite +-- todo: add proper tracing and so .. not too hard as we can run on mtxrun +-- todo: get rid of these lexers.STYLE_XX and lexers.XX (hide such details) +-- +-- HISTORY +-- +-- The fold and lex functions are copied and patched from original code by Mitchell +-- (see lexer.lua). All errors are mine. The ability to use lpeg is a real nice +-- adition and a brilliant move. The code is a byproduct of the (mainly Lua based) +-- textadept (still a rapidly moving target) that unfortunately misses a realtime +-- output pane. On the other hand, SciTE is somewhat crippled by the fact that we +-- cannot pop in our own (language dependent) lexer into the output pane (somehow +-- the errorlist lexer is hard coded into the editor). Hopefully that will change +-- some day. +-- +-- Starting with SciTE version 3.20 there is an issue with coloring. As we still +-- lack a connection with SciTE itself (properties as well as printing to the log +-- pane) and we cannot trace this (on windows). As far as I can see, there are no +-- fundamental changes in lexer.lua or LexLPeg.cxx so it must be in Scintilla +-- itself. So for the moment I stick to 3.10. Indicators are: no lexing of 'next' +-- and 'goto