]> git.cameronkatri.com Git - mandoc.git/blobdiff - term_ascii.c
The files mandoc.c and mandoc.h contained both specialised low-level
[mandoc.git] / term_ascii.c
index a1d3bc1caf1d06c8328828c8df1bf734af20a024..d6531167703b98db162141aff04b3e85ba41a6da 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: term_ascii.c,v 1.19 2011/11/13 13:15:14 schwarze Exp $ */
+/*     $Id: term_ascii.c,v 1.22 2014/03/23 11:25:26 schwarze Exp $ */
 /*
  * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -20,7 +20,6 @@
 
 #include <sys/types.h>
 
-#include <assert.h>
 #ifdef USE_WCHAR
 # include <locale.h>
 #endif
@@ -33,6 +32,7 @@
 #endif
 
 #include "mandoc.h"
+#include "mandoc_aux.h"
 #include "out.h"
 #include "term.h"
 #include "main.h"
@@ -68,12 +68,11 @@ static      size_t            locale_width(const struct termp *, int);
 static struct termp *
 ascii_init(enum termenc enc, char *outopts)
 {
-       const char      *toks[3];
+       const char      *toks[4];
        char            *v;
        struct termp    *p;
 
        p = mandoc_calloc(1, sizeof(struct termp));
-       p->enc = enc;
 
        p->tabwidth = 5;
        p->defrmargin = 78;
@@ -93,7 +92,7 @@ ascii_init(enum termenc enc, char *outopts)
        if (TERMENC_ASCII != enc) {
                v = TERMENC_LOCALE == enc ?
                        setlocale(LC_ALL, "") :
-                       setlocale(LC_CTYPE, "UTF-8");
+                       setlocale(LC_CTYPE, "en_US.UTF-8");
                if (NULL != v && MB_CUR_MAX > 1) {
                        p->enc = enc;
                        p->advance = locale_advance;
@@ -106,7 +105,8 @@ ascii_init(enum termenc enc, char *outopts)
 
        toks[0] = "indent";
        toks[1] = "width";
-       toks[2] = NULL;
+       toks[2] = "mdoc";
+       toks[3] = NULL;
 
        while (outopts && *outopts)
                switch (getsubopt(&outopts, UNCONST(toks), &v)) {
@@ -116,6 +116,14 @@ ascii_init(enum termenc enc, char *outopts)
                case (1):
                        p->defrmargin = (size_t)atoi(v);
                        break;
+               case (2):
+                       /*
+                        * Temporary, undocumented mode
+                        * to imitate mdoc(7) output style.
+                        */
+                       p->mdocstyle = 1;
+                       p->defindent = 5;
+                       break;
                default:
                        break;
                }