mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-09 18:52:46 +00:00
Move some functions that only required a FontInfo parameter from Font.*
to FontInfo.* This allows tex2lyx to use the plain FontInfo object (via Layout), and to remove several '#ifdef TEX2LYX' in the code Reorder a bit the makefile in tex2lyx git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31772 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
e8631bf7ed
commit
0c1ff6d89e
194
src/Font.cpp
194
src/Font.cpp
@ -39,6 +39,16 @@ using namespace lyx::support;
|
|||||||
|
|
||||||
namespace lyx {
|
namespace lyx {
|
||||||
|
|
||||||
|
//
|
||||||
|
// Strings used to read and write .lyx format files
|
||||||
|
//
|
||||||
|
// These are defined in FontInfo.cpp
|
||||||
|
extern char const ** LyXFamilyNames;
|
||||||
|
extern char const ** LyXSeriesNames;
|
||||||
|
extern char const ** LyXShapeNames;
|
||||||
|
extern char const ** LyXSizeNames;
|
||||||
|
extern char const ** LyXMiscNames;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Names for the GUI
|
// Names for the GUI
|
||||||
//
|
//
|
||||||
@ -65,29 +75,6 @@ char const * GUISizeNames[14] =
|
|||||||
char const * GUIMiscNames[5] =
|
char const * GUIMiscNames[5] =
|
||||||
{ N_("Off"), N_("On"), N_("Toggle"), N_("Inherit"), N_("Ignore") };
|
{ N_("Off"), N_("On"), N_("Toggle"), N_("Inherit"), N_("Ignore") };
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Strings used to read and write .lyx format files
|
|
||||||
//
|
|
||||||
char const * LyXFamilyNames[NUM_FAMILIES + 2 /* default & error */] =
|
|
||||||
{ "roman", "sans", "typewriter", "symbol",
|
|
||||||
"cmr", "cmsy", "cmm", "cmex", "msa", "msb", "eufrak", "wasy", "esint",
|
|
||||||
"default", "error" };
|
|
||||||
|
|
||||||
char const * LyXSeriesNames[4] =
|
|
||||||
{ "medium", "bold", "default", "error" };
|
|
||||||
|
|
||||||
char const * LyXShapeNames[6] =
|
|
||||||
{ "up", "italic", "slanted", "smallcaps", "default", "error" };
|
|
||||||
|
|
||||||
char const * LyXSizeNames[14] =
|
|
||||||
{ "tiny", "scriptsize", "footnotesize", "small", "normal", "large",
|
|
||||||
"larger", "largest", "huge", "giant",
|
|
||||||
"increase", "decrease", "default", "error" };
|
|
||||||
|
|
||||||
char const * LyXMiscNames[5] =
|
|
||||||
{ "off", "on", "toggle", "default", "error" };
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Strings used to write LaTeX files
|
// Strings used to write LaTeX files
|
||||||
//
|
//
|
||||||
@ -208,92 +195,6 @@ docstring const Font::stateText(BufferParams * params) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Set family according to lyx format string
|
|
||||||
void setLyXFamily(string const & fam, FontInfo & f)
|
|
||||||
{
|
|
||||||
string const s = ascii_lowercase(fam);
|
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
while (LyXFamilyNames[i] != s &&
|
|
||||||
LyXFamilyNames[i] != string("error"))
|
|
||||||
++i;
|
|
||||||
if (s == LyXFamilyNames[i])
|
|
||||||
f.setFamily(FontFamily(i));
|
|
||||||
else
|
|
||||||
lyxerr << "setLyXFamily: Unknown family `"
|
|
||||||
<< s << '\'' << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Set series according to lyx format string
|
|
||||||
void setLyXSeries(string const & ser, FontInfo & f)
|
|
||||||
{
|
|
||||||
string const s = ascii_lowercase(ser);
|
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
while (LyXSeriesNames[i] != s &&
|
|
||||||
LyXSeriesNames[i] != string("error")) ++i;
|
|
||||||
if (s == LyXSeriesNames[i]) {
|
|
||||||
f.setSeries(FontSeries(i));
|
|
||||||
} else
|
|
||||||
lyxerr << "setLyXSeries: Unknown series `"
|
|
||||||
<< s << '\'' << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Set shape according to lyx format string
|
|
||||||
void setLyXShape(string const & sha, FontInfo & f)
|
|
||||||
{
|
|
||||||
string const s = ascii_lowercase(sha);
|
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
while (LyXShapeNames[i] != s && LyXShapeNames[i] != string("error"))
|
|
||||||
++i;
|
|
||||||
if (s == LyXShapeNames[i])
|
|
||||||
f.setShape(FontShape(i));
|
|
||||||
else
|
|
||||||
lyxerr << "Font::setLyXShape: Unknown shape `"
|
|
||||||
<< s << '\'' << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Set size according to lyx format string
|
|
||||||
void setLyXSize(string const & siz, FontInfo & f)
|
|
||||||
{
|
|
||||||
string const s = ascii_lowercase(siz);
|
|
||||||
int i = 0;
|
|
||||||
while (LyXSizeNames[i] != s && LyXSizeNames[i] != string("error"))
|
|
||||||
++i;
|
|
||||||
if (s == LyXSizeNames[i]) {
|
|
||||||
f.setSize(FontSize(i));
|
|
||||||
} else
|
|
||||||
lyxerr << "Font::setLyXSize: Unknown size `"
|
|
||||||
<< s << '\'' << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Set size according to lyx format string
|
|
||||||
FontState Font::setLyXMisc(string const & siz)
|
|
||||||
{
|
|
||||||
string const s = ascii_lowercase(siz);
|
|
||||||
int i = 0;
|
|
||||||
while (LyXMiscNames[i] != s &&
|
|
||||||
LyXMiscNames[i] != string("error")) ++i;
|
|
||||||
if (s == LyXMiscNames[i])
|
|
||||||
return FontState(i);
|
|
||||||
lyxerr << "Font::setLyXMisc: Unknown misc flag `"
|
|
||||||
<< s << '\'' << endl;
|
|
||||||
return FONT_OFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Sets color after LyX text format
|
|
||||||
void setLyXColor(string const & col, FontInfo & f)
|
|
||||||
{
|
|
||||||
f.setColor(lcolor.getFromLyXName(col));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Returns size in latex format
|
// Returns size in latex format
|
||||||
string const Font::latexSize() const
|
string const Font::latexSize() const
|
||||||
{
|
{
|
||||||
@ -301,81 +202,6 @@ string const Font::latexSize() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Read a font definition from given file in lyx format
|
|
||||||
// Used for layouts
|
|
||||||
FontInfo lyxRead(Lexer & lex, FontInfo const & fi)
|
|
||||||
{
|
|
||||||
FontInfo f = fi;
|
|
||||||
bool error = false;
|
|
||||||
bool finished = false;
|
|
||||||
while (!finished && lex.isOK() && !error) {
|
|
||||||
lex.next();
|
|
||||||
string const tok = ascii_lowercase(lex.getString());
|
|
||||||
|
|
||||||
if (tok.empty()) {
|
|
||||||
continue;
|
|
||||||
} else if (tok == "endfont") {
|
|
||||||
finished = true;
|
|
||||||
} else if (tok == "family") {
|
|
||||||
lex.next();
|
|
||||||
string const ttok = lex.getString();
|
|
||||||
setLyXFamily(ttok, f);
|
|
||||||
} else if (tok == "series") {
|
|
||||||
lex.next();
|
|
||||||
string const ttok = lex.getString();
|
|
||||||
setLyXSeries(ttok, f);
|
|
||||||
} else if (tok == "shape") {
|
|
||||||
lex.next();
|
|
||||||
string const ttok = lex.getString();
|
|
||||||
setLyXShape(ttok, f);
|
|
||||||
} else if (tok == "size") {
|
|
||||||
lex.next();
|
|
||||||
string const ttok = lex.getString();
|
|
||||||
setLyXSize(ttok, f);
|
|
||||||
} else if (tok == "misc") {
|
|
||||||
lex.next();
|
|
||||||
string const ttok = ascii_lowercase(lex.getString());
|
|
||||||
|
|
||||||
if (ttok == "no_bar") {
|
|
||||||
f.setUnderbar(FONT_OFF);
|
|
||||||
} else if (ttok == "no_strikeout") {
|
|
||||||
f.setStrikeout(FONT_OFF);
|
|
||||||
} else if (ttok == "no_uuline") {
|
|
||||||
f.setUuline(FONT_OFF);
|
|
||||||
} else if (ttok == "no_uwave") {
|
|
||||||
f.setUwave(FONT_OFF);
|
|
||||||
} else if (ttok == "no_emph") {
|
|
||||||
f.setEmph(FONT_OFF);
|
|
||||||
} else if (ttok == "no_noun") {
|
|
||||||
f.setNoun(FONT_OFF);
|
|
||||||
} else if (ttok == "emph") {
|
|
||||||
f.setEmph(FONT_ON);
|
|
||||||
} else if (ttok == "underbar") {
|
|
||||||
f.setUnderbar(FONT_ON);
|
|
||||||
} else if (ttok == "strikeout") {
|
|
||||||
f.setStrikeout(FONT_ON);
|
|
||||||
} else if (ttok == "uuline") {
|
|
||||||
f.setUuline(FONT_ON);
|
|
||||||
} else if (ttok == "uwave") {
|
|
||||||
f.setUwave(FONT_ON);
|
|
||||||
} else if (ttok == "noun") {
|
|
||||||
f.setNoun(FONT_ON);
|
|
||||||
} else {
|
|
||||||
lex.printError("Illegal misc type");
|
|
||||||
}
|
|
||||||
} else if (tok == "color") {
|
|
||||||
lex.next();
|
|
||||||
string const ttok = lex.getString();
|
|
||||||
setLyXColor(ttok, f);
|
|
||||||
} else {
|
|
||||||
lex.printError("Unknown tag");
|
|
||||||
error = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Writes the changes from this font to orgfont in .lyx format in file
|
/// Writes the changes from this font to orgfont in .lyx format in file
|
||||||
void Font::lyxWriteChanges(Font const & orgfont,
|
void Font::lyxWriteChanges(Font const & orgfont,
|
||||||
ostream & os) const
|
ostream & os) const
|
||||||
|
29
src/Font.h
29
src/Font.h
@ -15,10 +15,6 @@
|
|||||||
#ifndef FONT_H
|
#ifndef FONT_H
|
||||||
#define FONT_H
|
#define FONT_H
|
||||||
|
|
||||||
#ifdef TEX2LYX
|
|
||||||
#include "tex2lyx/Font.h"
|
|
||||||
#else
|
|
||||||
|
|
||||||
#include "ColorCode.h"
|
#include "ColorCode.h"
|
||||||
#include "FontInfo.h"
|
#include "FontInfo.h"
|
||||||
|
|
||||||
@ -27,7 +23,6 @@
|
|||||||
|
|
||||||
namespace lyx {
|
namespace lyx {
|
||||||
|
|
||||||
class Lexer;
|
|
||||||
class BufferParams;
|
class BufferParams;
|
||||||
class Language;
|
class Language;
|
||||||
class LaTeXFeatures;
|
class LaTeXFeatures;
|
||||||
@ -57,10 +52,6 @@ public:
|
|||||||
///
|
///
|
||||||
void setLanguage(Language const * l);
|
void setLanguage(Language const * l);
|
||||||
|
|
||||||
/// Returns misc flag after LyX text format
|
|
||||||
FontState setLyXMisc(std::string const &);
|
|
||||||
|
|
||||||
|
|
||||||
/// Returns size of font in LaTeX text notation
|
/// Returns size of font in LaTeX text notation
|
||||||
std::string const latexSize() const;
|
std::string const latexSize() const;
|
||||||
|
|
||||||
@ -153,26 +144,6 @@ bool operator!=(Font const & font1, Font const & font2)
|
|||||||
*/
|
*/
|
||||||
std::string const freefont2string();
|
std::string const freefont2string();
|
||||||
|
|
||||||
|
|
||||||
/// Set family after LyX text format
|
|
||||||
void setLyXFamily(std::string const &, FontInfo &);
|
|
||||||
|
|
||||||
/// Set series after LyX text format
|
|
||||||
void setLyXSeries(std::string const &, FontInfo &);
|
|
||||||
|
|
||||||
/// Set shape after LyX text format
|
|
||||||
void setLyXShape(std::string const &, FontInfo &);
|
|
||||||
|
|
||||||
/// Set size after LyX text format
|
|
||||||
void setLyXSize(std::string const &, FontInfo &);
|
|
||||||
|
|
||||||
/// Sets color after LyX text format
|
|
||||||
void setLyXColor(std::string const &, FontInfo &);
|
|
||||||
|
|
||||||
/// Read a font specification from Lexer. Used for layout files.
|
|
||||||
FontInfo lyxRead(Lexer &, FontInfo const & fi = sane_font);
|
|
||||||
|
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
|
||||||
#endif // TEX2LYX
|
|
||||||
#endif
|
#endif
|
||||||
|
183
src/FontInfo.cpp
183
src/FontInfo.cpp
@ -14,15 +14,42 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
|
#include "ColorSet.h"
|
||||||
#include "FontInfo.h"
|
#include "FontInfo.h"
|
||||||
|
#include "Lexer.h"
|
||||||
|
|
||||||
#include "support/debug.h"
|
#include "support/debug.h"
|
||||||
#include "support/docstring.h"
|
#include "support/docstring.h"
|
||||||
|
#include "support/lstrings.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
using namespace lyx::support;
|
||||||
|
|
||||||
namespace lyx {
|
namespace lyx {
|
||||||
|
|
||||||
|
//
|
||||||
|
// Strings used to read and write .lyx format files
|
||||||
|
//
|
||||||
|
char const * LyXFamilyNames[NUM_FAMILIES + 2 /* default & error */] =
|
||||||
|
{ "roman", "sans", "typewriter", "symbol",
|
||||||
|
"cmr", "cmsy", "cmm", "cmex", "msa", "msb", "eufrak", "wasy", "esint",
|
||||||
|
"default", "error" };
|
||||||
|
|
||||||
|
char const * LyXSeriesNames[4] =
|
||||||
|
{ "medium", "bold", "default", "error" };
|
||||||
|
|
||||||
|
char const * LyXShapeNames[6] =
|
||||||
|
{ "up", "italic", "slanted", "smallcaps", "default", "error" };
|
||||||
|
|
||||||
|
char const * LyXSizeNames[14] =
|
||||||
|
{ "tiny", "scriptsize", "footnotesize", "small", "normal", "large",
|
||||||
|
"larger", "largest", "huge", "giant",
|
||||||
|
"increase", "decrease", "default", "error" };
|
||||||
|
|
||||||
|
char const * LyXMiscNames[5] =
|
||||||
|
{ "off", "on", "toggle", "default", "error" };
|
||||||
|
|
||||||
|
|
||||||
FontInfo const sane_font(
|
FontInfo const sane_font(
|
||||||
ROMAN_FAMILY,
|
ROMAN_FAMILY,
|
||||||
MEDIUM_SERIES,
|
MEDIUM_SERIES,
|
||||||
@ -448,4 +475,160 @@ docstring FontInfo::asCSS() const
|
|||||||
return from_ascii(retval);
|
return from_ascii(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set family according to lyx format string
|
||||||
|
void setLyXFamily(string const & fam, FontInfo & f)
|
||||||
|
{
|
||||||
|
string const s = ascii_lowercase(fam);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
while (LyXFamilyNames[i] != s &&
|
||||||
|
LyXFamilyNames[i] != string("error"))
|
||||||
|
++i;
|
||||||
|
if (s == LyXFamilyNames[i])
|
||||||
|
f.setFamily(FontFamily(i));
|
||||||
|
else
|
||||||
|
LYXERR0("Unknown family `" << s << '\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Set series according to lyx format string
|
||||||
|
void setLyXSeries(string const & ser, FontInfo & f)
|
||||||
|
{
|
||||||
|
string const s = ascii_lowercase(ser);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
while (LyXSeriesNames[i] != s &&
|
||||||
|
LyXSeriesNames[i] != string("error")) ++i;
|
||||||
|
if (s == LyXSeriesNames[i]) {
|
||||||
|
f.setSeries(FontSeries(i));
|
||||||
|
} else
|
||||||
|
LYXERR0("Unknown series `" << s << '\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Set shape according to lyx format string
|
||||||
|
void setLyXShape(string const & sha, FontInfo & f)
|
||||||
|
{
|
||||||
|
string const s = ascii_lowercase(sha);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
while (LyXShapeNames[i] != s && LyXShapeNames[i] != string("error"))
|
||||||
|
++i;
|
||||||
|
if (s == LyXShapeNames[i])
|
||||||
|
f.setShape(FontShape(i));
|
||||||
|
else
|
||||||
|
LYXERR0("Unknown shape `" << s << '\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Set size according to lyx format string
|
||||||
|
void setLyXSize(string const & siz, FontInfo & f)
|
||||||
|
{
|
||||||
|
string const s = ascii_lowercase(siz);
|
||||||
|
int i = 0;
|
||||||
|
while (LyXSizeNames[i] != s && LyXSizeNames[i] != string("error"))
|
||||||
|
++i;
|
||||||
|
if (s == LyXSizeNames[i]) {
|
||||||
|
f.setSize(FontSize(i));
|
||||||
|
} else
|
||||||
|
LYXERR0("Unknown size `" << s << '\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Set size according to lyx format string
|
||||||
|
FontState setLyXMisc(string const & siz)
|
||||||
|
{
|
||||||
|
string const s = ascii_lowercase(siz);
|
||||||
|
int i = 0;
|
||||||
|
while (LyXMiscNames[i] != s &&
|
||||||
|
LyXMiscNames[i] != string("error")) ++i;
|
||||||
|
if (s == LyXMiscNames[i])
|
||||||
|
return FontState(i);
|
||||||
|
LYXERR0("Unknown misc flag `" << s << '\'');
|
||||||
|
return FONT_OFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Sets color after LyX text format
|
||||||
|
void setLyXColor(string const & col, FontInfo & f)
|
||||||
|
{
|
||||||
|
f.setColor(lcolor.getFromLyXName(col));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Read a font definition from given file in lyx format
|
||||||
|
// Used for layouts
|
||||||
|
FontInfo lyxRead(Lexer & lex, FontInfo const & fi)
|
||||||
|
{
|
||||||
|
FontInfo f = fi;
|
||||||
|
bool error = false;
|
||||||
|
bool finished = false;
|
||||||
|
while (!finished && lex.isOK() && !error) {
|
||||||
|
lex.next();
|
||||||
|
string const tok = ascii_lowercase(lex.getString());
|
||||||
|
|
||||||
|
if (tok.empty()) {
|
||||||
|
continue;
|
||||||
|
} else if (tok == "endfont") {
|
||||||
|
finished = true;
|
||||||
|
} else if (tok == "family") {
|
||||||
|
lex.next();
|
||||||
|
string const ttok = lex.getString();
|
||||||
|
setLyXFamily(ttok, f);
|
||||||
|
} else if (tok == "series") {
|
||||||
|
lex.next();
|
||||||
|
string const ttok = lex.getString();
|
||||||
|
setLyXSeries(ttok, f);
|
||||||
|
} else if (tok == "shape") {
|
||||||
|
lex.next();
|
||||||
|
string const ttok = lex.getString();
|
||||||
|
setLyXShape(ttok, f);
|
||||||
|
} else if (tok == "size") {
|
||||||
|
lex.next();
|
||||||
|
string const ttok = lex.getString();
|
||||||
|
setLyXSize(ttok, f);
|
||||||
|
} else if (tok == "misc") {
|
||||||
|
lex.next();
|
||||||
|
string const ttok = ascii_lowercase(lex.getString());
|
||||||
|
|
||||||
|
if (ttok == "no_bar") {
|
||||||
|
f.setUnderbar(FONT_OFF);
|
||||||
|
} else if (ttok == "no_strikeout") {
|
||||||
|
f.setStrikeout(FONT_OFF);
|
||||||
|
} else if (ttok == "no_uuline") {
|
||||||
|
f.setUuline(FONT_OFF);
|
||||||
|
} else if (ttok == "no_uwave") {
|
||||||
|
f.setUwave(FONT_OFF);
|
||||||
|
} else if (ttok == "no_emph") {
|
||||||
|
f.setEmph(FONT_OFF);
|
||||||
|
} else if (ttok == "no_noun") {
|
||||||
|
f.setNoun(FONT_OFF);
|
||||||
|
} else if (ttok == "emph") {
|
||||||
|
f.setEmph(FONT_ON);
|
||||||
|
} else if (ttok == "underbar") {
|
||||||
|
f.setUnderbar(FONT_ON);
|
||||||
|
} else if (ttok == "strikeout") {
|
||||||
|
f.setStrikeout(FONT_ON);
|
||||||
|
} else if (ttok == "uuline") {
|
||||||
|
f.setUuline(FONT_ON);
|
||||||
|
} else if (ttok == "uwave") {
|
||||||
|
f.setUwave(FONT_ON);
|
||||||
|
} else if (ttok == "noun") {
|
||||||
|
f.setNoun(FONT_ON);
|
||||||
|
} else {
|
||||||
|
lex.printError("Illegal misc type");
|
||||||
|
}
|
||||||
|
} else if (tok == "color") {
|
||||||
|
lex.next();
|
||||||
|
string const ttok = lex.getString();
|
||||||
|
setLyXColor(ttok, f);
|
||||||
|
} else {
|
||||||
|
lex.printError("Unknown tag");
|
||||||
|
error = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
@ -15,10 +15,6 @@
|
|||||||
#ifndef FONT_PROPERTIES_H
|
#ifndef FONT_PROPERTIES_H
|
||||||
#define FONT_PROPERTIES_H
|
#define FONT_PROPERTIES_H
|
||||||
|
|
||||||
#ifdef TEX2LYX
|
|
||||||
#include "tex2lyx/Font.h"
|
|
||||||
#else
|
|
||||||
|
|
||||||
#include "Color.h"
|
#include "Color.h"
|
||||||
#include "ColorCode.h"
|
#include "ColorCode.h"
|
||||||
#include "FontEnums.h"
|
#include "FontEnums.h"
|
||||||
@ -26,6 +22,8 @@
|
|||||||
|
|
||||||
namespace lyx {
|
namespace lyx {
|
||||||
|
|
||||||
|
class Lexer;
|
||||||
|
|
||||||
///
|
///
|
||||||
class FontInfo
|
class FontInfo
|
||||||
{
|
{
|
||||||
@ -201,7 +199,27 @@ extern FontInfo const inherit_font;
|
|||||||
/// All ignore font.
|
/// All ignore font.
|
||||||
extern FontInfo const ignore_font;
|
extern FontInfo const ignore_font;
|
||||||
|
|
||||||
|
/// Set family after LyX text format
|
||||||
|
void setLyXFamily(std::string const &, FontInfo &);
|
||||||
|
|
||||||
|
/// Set series after LyX text format
|
||||||
|
void setLyXSeries(std::string const &, FontInfo &);
|
||||||
|
|
||||||
|
/// Set shape after LyX text format
|
||||||
|
void setLyXShape(std::string const &, FontInfo &);
|
||||||
|
|
||||||
|
/// Set size after LyX text format
|
||||||
|
void setLyXSize(std::string const &, FontInfo &);
|
||||||
|
|
||||||
|
/// Sets color after LyX text format
|
||||||
|
void setLyXColor(std::string const &, FontInfo &);
|
||||||
|
|
||||||
|
/// Returns misc flag after LyX text format
|
||||||
|
FontState setLyXMisc(std::string const &);
|
||||||
|
|
||||||
|
/// Read a font specification from Lexer. Used for layout files.
|
||||||
|
FontInfo lyxRead(Lexer &, FontInfo const & fi = sane_font);
|
||||||
|
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
|
||||||
#endif // TEX2LYX_FONT_H
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include "Language.h"
|
#include "Language.h"
|
||||||
#include "TextClass.h"
|
#include "TextClass.h"
|
||||||
#include "Lexer.h"
|
#include "Lexer.h"
|
||||||
#include "Font.h"
|
#include "FontInfo.h"
|
||||||
|
|
||||||
#include "support/Messages.h"
|
#include "support/Messages.h"
|
||||||
#include "support/debug.h"
|
#include "support/debug.h"
|
||||||
@ -955,10 +955,6 @@ string Layout::defaultCSSClass() const
|
|||||||
// sorts of margins or padding, for example. But for now we are
|
// sorts of margins or padding, for example. But for now we are
|
||||||
// going to keep it simple.
|
// going to keep it simple.
|
||||||
void Layout::makeDefaultCSS() const {
|
void Layout::makeDefaultCSS() const {
|
||||||
#ifdef TEX2LYX
|
|
||||||
// tex2lyx does not have FontInfo::asCSS()
|
|
||||||
return;
|
|
||||||
#else
|
|
||||||
// this never needs to be redone, since reloading layouts will
|
// this never needs to be redone, since reloading layouts will
|
||||||
// wipe out what we did before.
|
// wipe out what we did before.
|
||||||
if (!htmldefaultstyle_.empty())
|
if (!htmldefaultstyle_.empty())
|
||||||
@ -975,7 +971,6 @@ void Layout::makeDefaultCSS() const {
|
|||||||
htmldefaultstyle_ +=
|
htmldefaultstyle_ +=
|
||||||
from_ascii(htmllabeltag() + "." + defaultCSSLabelClass() + " {\n") +
|
from_ascii(htmllabeltag() + "." + defaultCSSLabelClass() + " {\n") +
|
||||||
labelfontCSS + from_ascii("\n}\n");
|
labelfontCSS + from_ascii("\n}\n");
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
12
src/Text.cpp
12
src/Text.cpp
@ -361,10 +361,10 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
|
|||||||
}
|
}
|
||||||
} else if (token == "\\numeric") {
|
} else if (token == "\\numeric") {
|
||||||
lex.next();
|
lex.next();
|
||||||
font.fontInfo().setNumber(font.setLyXMisc(lex.getString()));
|
font.fontInfo().setNumber(setLyXMisc(lex.getString()));
|
||||||
} else if (token == "\\emph") {
|
} else if (token == "\\emph") {
|
||||||
lex.next();
|
lex.next();
|
||||||
font.fontInfo().setEmph(font.setLyXMisc(lex.getString()));
|
font.fontInfo().setEmph(setLyXMisc(lex.getString()));
|
||||||
} else if (token == "\\bar") {
|
} else if (token == "\\bar") {
|
||||||
lex.next();
|
lex.next();
|
||||||
string const tok = lex.getString();
|
string const tok = lex.getString();
|
||||||
@ -380,16 +380,16 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
|
|||||||
"`$$Token'");
|
"`$$Token'");
|
||||||
} else if (token == "\\strikeout") {
|
} else if (token == "\\strikeout") {
|
||||||
lex.next();
|
lex.next();
|
||||||
font.fontInfo().setStrikeout(font.setLyXMisc(lex.getString()));
|
font.fontInfo().setStrikeout(setLyXMisc(lex.getString()));
|
||||||
} else if (token == "\\uuline") {
|
} else if (token == "\\uuline") {
|
||||||
lex.next();
|
lex.next();
|
||||||
font.fontInfo().setUuline(font.setLyXMisc(lex.getString()));
|
font.fontInfo().setUuline(setLyXMisc(lex.getString()));
|
||||||
} else if (token == "\\uwave") {
|
} else if (token == "\\uwave") {
|
||||||
lex.next();
|
lex.next();
|
||||||
font.fontInfo().setUwave(font.setLyXMisc(lex.getString()));
|
font.fontInfo().setUwave(setLyXMisc(lex.getString()));
|
||||||
} else if (token == "\\noun") {
|
} else if (token == "\\noun") {
|
||||||
lex.next();
|
lex.next();
|
||||||
font.fontInfo().setNoun(font.setLyXMisc(lex.getString()));
|
font.fontInfo().setNoun(setLyXMisc(lex.getString()));
|
||||||
} else if (token == "\\color") {
|
} else if (token == "\\color") {
|
||||||
lex.next();
|
lex.next();
|
||||||
setLyXColor(lex.getString(), font.fontInfo());
|
setLyXColor(lex.getString(), font.fontInfo());
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include "InsetLayout.h"
|
#include "InsetLayout.h"
|
||||||
|
|
||||||
#include "ColorSet.h"
|
#include "ColorSet.h"
|
||||||
#include "Font.h"
|
|
||||||
#include "Lexer.h"
|
#include "Lexer.h"
|
||||||
#include "TextClass.h"
|
#include "TextClass.h"
|
||||||
|
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
/**
|
|
||||||
* \file tex2lyx/Font.cpp
|
|
||||||
* This file is part of LyX, the document processor.
|
|
||||||
* Licence details can be found in the file COPYING.
|
|
||||||
*
|
|
||||||
* \author Angus Leeming
|
|
||||||
*
|
|
||||||
* Full author contact details are available in file CREDITS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include "Font.h"
|
|
||||||
#include "Lexer.h"
|
|
||||||
#include "support/lstrings.h"
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
namespace lyx {
|
|
||||||
|
|
||||||
using lyx::support::ascii_lowercase;
|
|
||||||
|
|
||||||
/// Sane font.
|
|
||||||
FontInfo const sane_font;
|
|
||||||
/// All inherit font.
|
|
||||||
FontInfo const inherit_font;
|
|
||||||
/// All ignore font.
|
|
||||||
FontInfo const ignore_font;
|
|
||||||
|
|
||||||
FontInfo lyxRead(Lexer & lex, FontInfo const &)
|
|
||||||
{
|
|
||||||
bool error = false;
|
|
||||||
bool finished = false;
|
|
||||||
while (!finished && lex.isOK() && !error) {
|
|
||||||
lex.next();
|
|
||||||
string const tok = ascii_lowercase(lex.getString());
|
|
||||||
|
|
||||||
if (tok.empty()) {
|
|
||||||
continue;
|
|
||||||
} else if (tok == "endfont") {
|
|
||||||
finished = true;
|
|
||||||
} else if (tok == "family") {
|
|
||||||
lex.next();
|
|
||||||
} else if (tok == "series") {
|
|
||||||
lex.next();
|
|
||||||
} else if (tok == "shape") {
|
|
||||||
lex.next();
|
|
||||||
} else if (tok == "size") {
|
|
||||||
lex.next();
|
|
||||||
} else if (tok == "misc") {
|
|
||||||
lex.next();
|
|
||||||
} else if (tok == "color") {
|
|
||||||
lex.next();
|
|
||||||
} else {
|
|
||||||
lex.printError("Unknown tag `$$Token'");
|
|
||||||
error = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return FontInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace lyx
|
|
@ -1,54 +0,0 @@
|
|||||||
// -*- C++ -*-
|
|
||||||
/**
|
|
||||||
* \file tex2lyx/Font.h
|
|
||||||
* This file is part of LyX, the document processor.
|
|
||||||
* Licence details can be found in the file COPYING.
|
|
||||||
*
|
|
||||||
* \author Angus Leeming
|
|
||||||
*
|
|
||||||
* Full author contact details are available in file CREDITS.
|
|
||||||
*
|
|
||||||
* This class is just a dummy version of that in the main LyX source tree
|
|
||||||
* to enable tex2lyx to use LyX's textclass classes and not have to
|
|
||||||
* re-invent the wheel.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef TEX2LYX_FONT_H
|
|
||||||
#define TEX2LYX_FONT_H
|
|
||||||
|
|
||||||
//#include "FontInfo.h"
|
|
||||||
|
|
||||||
namespace lyx {
|
|
||||||
|
|
||||||
class Lexer;
|
|
||||||
|
|
||||||
class FontInfo
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
FontInfo() {}
|
|
||||||
FontInfo & realize(FontInfo const &) { return *this; }
|
|
||||||
void setColor(int) {}
|
|
||||||
bool resolved() const { return true; }
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Sane font.
|
|
||||||
extern FontInfo const sane_font;
|
|
||||||
/// All inherit font.
|
|
||||||
extern FontInfo const inherit_font;
|
|
||||||
/// All ignore font.
|
|
||||||
extern FontInfo const ignore_font;
|
|
||||||
|
|
||||||
class Font
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Font() {}
|
|
||||||
Font(FontInfo const &) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Read a font specification from Lexer. Used for layout files.
|
|
||||||
FontInfo lyxRead(Lexer &, FontInfo const & fi = sane_font);
|
|
||||||
|
|
||||||
} // namespace lyx
|
|
||||||
|
|
||||||
#endif // TEX2LYX_FONT_H
|
|
@ -29,42 +29,40 @@ TEST_FILES = \
|
|||||||
test/test-structure.tex
|
test/test-structure.tex
|
||||||
|
|
||||||
LINKED_FILES = \
|
LINKED_FILES = \
|
||||||
|
../Color.cpp \
|
||||||
|
../Counters.cpp \
|
||||||
|
../Encoding.cpp \
|
||||||
../FloatList.cpp \
|
../FloatList.cpp \
|
||||||
../Floating.cpp \
|
../Floating.cpp \
|
||||||
../Counters.cpp \
|
../FontInfo.cpp \
|
||||||
../insets/InsetLayout.cpp \
|
../insets/InsetLayout.cpp \
|
||||||
../LayoutFile.h \
|
../LayoutFile.h \
|
||||||
../Layout.h \
|
../Layout.h \
|
||||||
../Layout.cpp \
|
../Layout.cpp \
|
||||||
../LayoutModuleList.h \
|
../LayoutModuleList.h \
|
||||||
../LayoutModuleList.cpp \
|
../LayoutModuleList.cpp \
|
||||||
|
../lengthcommon.cpp \
|
||||||
|
../Lexer.cpp \
|
||||||
../ModuleList.h \
|
../ModuleList.h \
|
||||||
../ModuleList.cpp \
|
../ModuleList.cpp \
|
||||||
../TextClass.cpp \
|
../TextClass.cpp \
|
||||||
../TextClass.h \
|
../TextClass.h
|
||||||
../Lexer.cpp \
|
|
||||||
../lengthcommon.cpp \
|
|
||||||
../Color.cpp \
|
|
||||||
../Color.h \
|
|
||||||
../Encoding.cpp
|
|
||||||
|
|
||||||
BUILT_SOURCES = $(PCH_FILE)
|
BUILT_SOURCES = $(PCH_FILE)
|
||||||
|
|
||||||
tex2lyx_SOURCES = \
|
tex2lyx_SOURCES = \
|
||||||
$(LINKED_FILES) \
|
$(LINKED_FILES) \
|
||||||
Spacing.h \
|
|
||||||
boost.cpp \
|
boost.cpp \
|
||||||
Context.cpp \
|
Context.cpp \
|
||||||
Context.h \
|
Context.h \
|
||||||
Font.cpp \
|
math.cpp \
|
||||||
Font.h \
|
|
||||||
Parser.cpp \
|
Parser.cpp \
|
||||||
Parser.h \
|
Parser.h \
|
||||||
|
preamble.cpp \
|
||||||
|
Spacing.h \
|
||||||
|
table.cpp \
|
||||||
tex2lyx.cpp \
|
tex2lyx.cpp \
|
||||||
tex2lyx.h \
|
tex2lyx.h \
|
||||||
preamble.cpp \
|
|
||||||
math.cpp \
|
|
||||||
table.cpp \
|
|
||||||
text.cpp
|
text.cpp
|
||||||
|
|
||||||
tex2lyx_LDADD = \
|
tex2lyx_LDADD = \
|
||||||
|
Loading…
Reference in New Issue
Block a user