summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bk_paper.c4
-rw-r--r--paper.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/bk_paper.c b/bk_paper.c
index ae5a246..ab6472e 100644
--- a/bk_paper.c
+++ b/bk_paper.c
@@ -1106,6 +1106,7 @@ static para_data *make_para_data(int ptype, int paux, int indent, int rmargin,
pdata->rect_type = RECT_NONE;
pdata->contents_entry = NULL;
pdata->justification = JUST;
+ pdata->extraflags = 0;
/*
* Choose fonts for this paragraph.
@@ -2209,6 +2210,7 @@ static int render_text(page_data *page, para_data *pdata, line_data *ldata,
FONT_CODE);
if (style == word_Code || style == word_WeakCode) flags |= RS_NOLIG;
+ flags |= pdata->extraflags;
if (type == word_Normal) {
str = text->text;
@@ -2482,6 +2484,7 @@ static para_data *code_paragraph(int indent, word *words, paper_conf *conf)
pdata->rect_type = RECT_NONE;
pdata->contents_entry = NULL;
pdata->justification = LEFT;
+ pdata->extraflags = RS_NOLIG;
for (; words; words = words->next) {
wchar_t *t, *e, *start;
@@ -2612,6 +2615,7 @@ static para_data *rule_paragraph(int indent, paper_conf *conf)
pdata->rect_type = RECT_RULE;
pdata->contents_entry = NULL;
pdata->justification = LEFT;
+ pdata->extraflags = 0;
standard_line_spacing(pdata, conf);
diff --git a/paper.h b/paper.h
index 1a6f9f1..a15cbc7 100644
--- a/paper.h
+++ b/paper.h
@@ -225,6 +225,11 @@ struct para_data_Tag {
JUST, LEFT, RIGHT
} justification;
/*
+ * Sometimes (in code paragraphs) we want to override the flags
+ * passed to render_string().
+ */
+ unsigned extraflags;
+ /*
* For constructing the page outline.
*/
int outline_level; /* 0=title 1=C 2=H 3=S 4=S2... */