From fed22753adeb474e7470dbe7c96326fd6bcfbc27 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 24 May 2013 00:18:09 +0000 Subject: spelling (23may13) git-svn-id: svn://tug.org/texlive/trunk@30665 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/luatex/spelling/spelling.sty | 89 +++++++++++----------- 1 file changed, 44 insertions(+), 45 deletions(-) (limited to 'Master/texmf-dist/tex/luatex') diff --git a/Master/texmf-dist/tex/luatex/spelling/spelling.sty b/Master/texmf-dist/tex/luatex/spelling/spelling.sty index d73661ee1ea..7b06b097c23 100644 --- a/Master/texmf-dist/tex/luatex/spelling/spelling.sty +++ b/Master/texmf-dist/tex/luatex/spelling/spelling.sty @@ -11,7 +11,7 @@ %% See file README for more information. %% \ProvidesPackage{spelling} - [2013/02/12 v0.3 Aid spell-checking (SH)] + [2013/05/23 v0.4 Support for spell-checking of LuaTeX documents (SH)] \NeedsTeXFormat{LaTeX2e}[1999/12/01] % Test for the LuaTeX engine. \RequirePackage{ifluatex} @@ -20,104 +20,103 @@ \PackageError{spelling}{LuaTeX engine required}{You could try with the `lualatex' command.} \fi -\RequirePackage{ifthen} -\RequirePackage{luatexbase} +% Lua module version management. +\RequirePackage{luatexbase-modutils} +% User-defined whatsit node ID allocation. +\RequirePackage{luatexbase-attr} % Load main Lua file. \directlua name {spelling}{ % The main Lua file is not a module, so we must pass a full path to % `dofile`. - local f = kpse.find_file('spelling.lua', 'lua') + local f = kpse.find_file('spelling-main.lua', 'lua') dofile(f) } % Words are extracted after pages have been built. In lack of a proper % Lua call-back, we're hooking into shipout from the LaTeX side. \RequirePackage{atbegshi} \AtBeginShipout{% - \directlua name {spelling-atbeginshipout}{cb_AtBeginShipout_pkg_spelling(\the\AtBeginShipoutBox)}% + \directlua name {spelling-atbeginshipout}{ + PKG_spelling.cb_AtBeginShipout(\the\AtBeginShipoutBox) + }% } % Provide command for reading-in a list of bad spellings. \newcommand*{\spellingreadbad}[1]{% \directlua{ - pkg_spelling_stage[1].parse_bad_plain_list_file('\luaescapestring{#1}') + PKG_spelling.stage[1].parse_bad_plain_list_file('\luaescapestring{#1}') }% } % Provide command for reading-in a list of good spellings. \newcommand*{\spellingreadgood}[1]{% \directlua{ - pkg_spelling_stage[1].parse_good_plain_list_file('\luaescapestring{#1}') + PKG_spelling.stage[1].parse_good_plain_list_file('\luaescapestring{#1}') }% } % Provide command for reading bad spellings from a LanguageTool XML % file. \newcommand*{\spellingreadLT}[1]{% \directlua{ - pkg_spelling_stage[1].parse_XML_LanguageTool_file('\luaescapestring{#1}') + PKG_spelling.stage[1].parse_XML_LanguageTool_file('\luaescapestring{#1}') + }% +} +% Provide command for reading match rules from a file. Argument must be +% a file name. +\newcommand*{\spellingmatchrules}[1]{% + \directlua{ + PKG_spelling.stage[1].read_match_rules('\luaescapestring{#1}') }% } % Provide command for enabling/disabling visual feedback. \newcommand*{\spellinghighlight}[1]{% - \ifthenelse{\equal{#1}{on}}{% - \directlua{ - pkg_spelling_stage[2].enable_word_highlighting() - }% - }{% - \directlua{ - pkg_spelling_stage[2].disable_word_highlighting() - }% + \directlua{ + if '\luaescapestring{#1}' == 'on' then + PKG_spelling.stage[2].enable_word_highlighting() + else + PKG_spelling.stage[2].disable_word_highlighting() + end }% } % Provide command for setting visual feedback colour. \newcommand*{\spellinghighlightcolor}[1]{% \directlua{ - pkg_spelling_stage[2].set_highlight_color('\luaescapestring{#1}') + PKG_spelling.stage[2].set_highlight_color('\luaescapestring{#1}') }% } % Provide command for enabling/disabling text ouput. \newcommand*{\spellingoutput}[1]{% - \ifthenelse{\equal{#1}{on}}{% - \directlua{ - pkg_spelling_stage[4].enable_text_output() - }% - }{% - \directlua{ - pkg_spelling_stage[4].disable_text_output() - }% + \directlua{ + if '\luaescapestring{#1}' == 'on' then + PKG_spelling.stage[4].enable_text_output() + else + PKG_spelling.stage[4].disable_text_output() + end }% } % Provide command for setting text output file name. \newcommand*{\spellingoutputname}[1]{% \directlua{ - pkg_spelling_stage[4].set_output_file_name('\luaescapestring{#1}') + PKG_spelling.stage[4].set_output_file_name('\luaescapestring{#1}') }% } % Provide command for setting text output file line length. \newcommand*{\spellingoutputlinelength}[1]{% \directlua{ - pkg_spelling_stage[4].set_output_line_length('\luaescapestring{#1}') - }% -} -% Provide command for setting text output EOL character. -\newcommand*{\spellingoutputeol}[1]{% - \directlua{ - pkg_spelling_stage[4].set_output_eol('\luaescapestring{#1}') + PKG_spelling.stage[4].set_output_line_length(\luaescapestring{#1}) }% } % Provide command for enabling/disabling text extraction. \newcommand*{\spellingextract}[1]{% - \ifthenelse{\equal{#1}{on}}{% - \directlua{ - pkg_spelling_stage[2].enable_text_tagging() - }% - }{% - \directlua{ - pkg_spelling_stage[2].disable_text_tagging() - }% + \directlua{ + if '\luaescapestring{#1}' == 'on' then + PKG_spelling.stage[2].enable_text_tagging() + else + PKG_spelling.stage[2].disable_text_tagging() + end }% } % Provide command to declare code point mappings. \newcommand*{\spellingmapping}[2]{% \directlua{ - local r = pkg_spelling_stage[2].set_mapping(\luaescapestring{#1}, '\luaescapestring{#2}') + local r = PKG_spelling.stage[2].set_mapping(\luaescapestring{#1}, '\luaescapestring{#2}') if r == false then texio.write_nl('package spelling: invalid mapping: \luaescapestring{#1} => \luaescapestring{#2}') end @@ -126,19 +125,19 @@ % Provide command to clear all existing code point mappings. \newcommand*{\spellingclearallmappings}{% \directlua{ - pkg_spelling_stage[2].clear_all_mappings() + PKG_spelling.stage[2].clear_all_mappings() }% } % Provide command to specify table paragraph behaviour. \newcommand*{\spellingtablepar}[1]{% \directlua{ - pkg_spelling_stage[3].set_table_paragraphs(\luaescapestring{#1}) + PKG_spelling.stage[3].set_table_paragraphs(\luaescapestring{#1}) }% } % % Read bad and good spellings from default sources. \directlua{ - pkg_spelling_stage[1].parse_default_bad_and_good() + PKG_spelling.stage[1].parse_default_bad_and_good() }% % % Enable visual feedback. -- cgit v1.2.3