]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc.c
Implement the roff(7) font-escape sequence \f(BI "bold+italic".
[mandoc.git] / mandoc.c
index 274b7163bd1adf787ee2f1590f4362d6a7b056d7..df510226c42d32dd6c16377727e45956eb82f26c 100644 (file)
--- a/mandoc.c
+++ b/mandoc.c
@@ -1,7 +1,7 @@
-/*     $Id: mandoc.c,v 1.67 2013/06/20 22:39:30 schwarze Exp $ */
+/*     $Id: mandoc.c,v 1.68 2013/08/08 20:07:47 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2011, 2012 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2011, 2012, 2013 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -296,13 +296,19 @@ mandoc_escape(const char **end, const char **start, int *sz)
 
        switch (gly) {
        case (ESCAPE_FONT):
-               /*
-                * Pretend that the constant-width font modes are the
-                * same as the regular font modes.
-                */
-               if (2 == *sz && 'C' == **start) {
-                       (*start)++;
-                       (*sz)--;
+               if (2 == *sz) {
+                       if ('C' == **start) {
+                               /*
+                                * Treat constant-width font modes
+                                * just like regular font modes.
+                                */
+                               (*start)++;
+                               (*sz)--;
+                       } else {
+                               if ('B' == (*start)[0] && 'I' == (*start)[1])
+                                       gly = ESCAPE_FONTBI;
+                               break;
+                       }
                } else if (1 != *sz)
                        break;