par->getLayout());
// Insets don't make sense in a free-spacing context! ---Kayvan
- if (layout.free_spacing) {
+ if (layout.free_spacing || par->isFreeSpacing()) {
if (lex.isOK()) {
lex.next();
string next_token = lex.getString();
textclasslist.Style(params.textclass,
par->getLayout());
- if (layout.free_spacing) {
+ if (layout.free_spacing || par->isFreeSpacing()) {
par->insertChar(pos, ' ', font);
} else {
Inset * inset = new InsetSpecialChar(InsetSpecialChar::PROTECTED_SEPARATOR);
}
// do not insert consecutive spaces if !free_spacing
} else if ((*cit == ' ' || *cit == '\t') &&
- space_inserted && !layout.free_spacing)
+ space_inserted && !layout.free_spacing &&
+ !par->isFreeSpacing())
{
continue;
} else if (*cit == '\t') {
- if (!layout.free_spacing) {
+ if (!layout.free_spacing && !par->isFreeSpacing()) {
// tabs are like spaces here
par->insertChar(pos, ' ', font);
++pos;
} else {
string sgml_string;
if (par->sgmlConvertChar(c, sgml_string)
- && !style.free_spacing) {
+ && !style.free_spacing && !par->isFreeSpacing())
+ {
// in freespacing mode, spaces are
// non-breaking characters
if (desc_on) {// if char is ' ' then...
if (style.pass_thru) {
os << c;
- } else if(style.free_spacing || c != ' ') {
+ } else if(style.free_spacing || par->isFreeSpacing() || c != ' ') {
os << sgml_string;
} else if (desc_on ==1) {
++char_line_count;