diff options
-rw-r--r-- | main.c | 9 | ||||
-rw-r--r-- | mandoc.1 | 16 |
2 files changed, 22 insertions, 3 deletions
@@ -44,6 +44,7 @@ typedef void (*out_free)(void *); enum outt { OUTT_ASCII = 0, /* -Tascii */ OUTT_LOCALE, /* -Tlocale */ + OUTT_UTF8, /* -Tutf8 */ OUTT_TREE, /* -Ttree */ OUTT_HTML, /* -Thtml */ OUTT_XHTML, /* -Txhtml */ @@ -213,6 +214,10 @@ parse(struct curparse *curp, int fd, curp->outdata = html_alloc(curp->outopts); curp->outfree = html_free; break; + case (OUTT_UTF8): + curp->outdata = utf8_alloc(curp->outopts); + curp->outfree = ascii_free; + break; case (OUTT_LOCALE): curp->outdata = locale_alloc(curp->outopts); curp->outfree = ascii_free; @@ -248,6 +253,8 @@ parse(struct curparse *curp, int fd, /* FALLTHROUGH */ case (OUTT_ASCII): /* FALLTHROUGH */ + case (OUTT_UTF8): + /* FALLTHROUGH */ case (OUTT_LOCALE): /* FALLTHROUGH */ case (OUTT_PS): @@ -307,6 +314,8 @@ toptions(struct curparse *curp, char *arg) curp->outtype = OUTT_TREE; else if (0 == strcmp(arg, "html")) curp->outtype = OUTT_HTML; + else if (0 == strcmp(arg, "utf8")) + curp->outtype = OUTT_UTF8; else if (0 == strcmp(arg, "locale")) curp->outtype = OUTT_LOCALE; else if (0 == strcmp(arg, "xhtml")) @@ -158,10 +158,13 @@ utility accepts the following .Fl T arguments, which correspond to output modes: .Bl -tag -width Ds +.It Fl T Ns Cm utf8 +Encode output in the UTF-8 multi-byte format. +See +.Xr UTF-8 Output . .It Fl T Ns Cm locale -This option encodes output characters using the current -.Xr locale 1 -configuration. +Encode output using the current +.Xr locale 1 . See .Sx Locale Output . .It Fl T Ns Cm ascii @@ -195,6 +198,13 @@ See .Pp If multiple input files are specified, these will be processed by the corresponding filter in-order. +.Ss UTF-8 Output +Use +.Fl T Ns Cm utf8 +to force a UTF-8 locale. +See +.Sx Locale Output +for details and options. .Ss Locale Output Locale-depending output encoding is triggered with .Fl T Ns Cm locale . |