diff options
| author | Grégoire Duchêne <gduchene@fastmail.net> | 2010-12-04 21:34:06 +0100 |
|---|---|---|
| committer | Grégoire Duchêne <gduchene@fastmail.net> | 2010-12-04 21:34:06 +0100 |
| commit | 7d8e1295ff6bd4a768a658690b850d58aba01b0b (patch) | |
| tree | 2fe35673f0b58b86934bed419b29202ce22fc5c4 /src/generators | |
| parent | 2e7217432858185374fc958bcd4dc4d0cd7b22fe (diff) | |
Emphasized text support added.
I will try to add both parsing and generation at the same time for each
mdown feature I will implement. Do not expect this to last.
Diffstat (limited to 'src/generators')
| -rw-r--r-- | src/generators/latex/text_g.cpp | 29 | ||||
| -rw-r--r-- | src/generators/latex/text_g.h | 33 | ||||
| -rw-r--r-- | src/generators/latex_g.cpp | 20 | ||||
| -rw-r--r-- | src/generators/latex_g.h | 30 |
4 files changed, 112 insertions, 0 deletions
diff --git a/src/generators/latex/text_g.cpp b/src/generators/latex/text_g.cpp new file mode 100644 index 0000000..aeaffc0 --- /dev/null +++ b/src/generators/latex/text_g.cpp @@ -0,0 +1,29 @@ +/* +Copyright (c) 2010, Grégoire Duchêne <gduchene@fastmail.net> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#include "text_g.h" + +latex::text_g::text_g() : text_g::base_type(text_) { + using namespace ka; + using ka::standard_wide::char_; + + text_ = stext_ | ptext_; + + stext_ = &uint_(EMPH) << L"\\emph{" << +text_ << '}' + | &uint_(SEMPH) << L"\\textit{\\emph{" << +text_ << L"}}" + | &uint_(VSEMPH) << L"\\texttt{\\textit{\\emph{" << +text_ << L"}}}"; + + ptext_ = +char_; +} diff --git a/src/generators/latex/text_g.h b/src/generators/latex/text_g.h new file mode 100644 index 0000000..90d88b8 --- /dev/null +++ b/src/generators/latex/text_g.h @@ -0,0 +1,33 @@ +/* +Copyright (c) 2010, Grégoire Duchêne <gduchene@fastmail.net> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef _MPPDOWN_LATEX_TEXT_G +#define _MPPDOWN_LATEX_TEXT_G +#include <boost/spirit/include/karma.hpp> +#include <boost/spirit/include/support_standard_wide.hpp> +#include "../../elements.h" + +namespace ka = boost::spirit::karma; + +namespace latex { +struct text_g : ka::grammar<oiterator, text_t()> { + ka::rule<oiterator, text_t()> text_; + ka::rule<oiterator, stext_t()> stext_; + ka::rule<oiterator, std::wstring()> ptext_; + + text_g(); +}; +} +#endif diff --git a/src/generators/latex_g.cpp b/src/generators/latex_g.cpp new file mode 100644 index 0000000..089e8a9 --- /dev/null +++ b/src/generators/latex_g.cpp @@ -0,0 +1,20 @@ +/* +Copyright (c) 2010, Grégoire Duchêne <gduchene@fastmail.net> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#include "latex_g.h" + +latex_g::latex_g() : latex_g::base_type(latex_) { + latex_ = +text_; +} diff --git a/src/generators/latex_g.h b/src/generators/latex_g.h new file mode 100644 index 0000000..965ba47 --- /dev/null +++ b/src/generators/latex_g.h @@ -0,0 +1,30 @@ +/* +Copyright (c) 2010, Grégoire Duchêne <gduchene@fastmail.net> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +#ifndef _MPPDOWN_LATEX_G +#define _MPPDOWN_LATEX_G +#include <boost/spirit/include/karma.hpp> +#include "../elements.h" +#include "latex/text_g.h" + +namespace ka = boost::spirit::karma; + +struct latex_g : ka::grammar<oiterator, document_t()> { + ka::rule<oiterator, document_t()> latex_; + latex::text_g text_; + + latex_g(); +}; +#endif |
