summaryrefslogtreecommitdiffstats
path: root/t/fmt/man
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 11:26:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 11:26:17 +0000
commit5df6c2aefebe3d2abcc939a88e294876d59f03ca (patch)
tree63fb332a0f21ddb91cb789c80cf64e134d373463 /t/fmt/man
parentInitial commit. (diff)
downloadpo4a-5df6c2aefebe3d2abcc939a88e294876d59f03ca.tar.xz
po4a-5df6c2aefebe3d2abcc939a88e294876d59f03ca.zip
Adding upstream version 0.72.upstream/0.72
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/fmt/man')
-rw-r--r--t/fmt/man/dots-errors1.man5
-rw-r--r--t/fmt/man/dots-errors1.norm.stderr2
-rw-r--r--t/fmt/man/dots-errors2.man5
-rw-r--r--t/fmt/man/dots-errors2.norm.stderr2
-rw-r--r--t/fmt/man/dots-errors3.man5
-rw-r--r--t/fmt/man/dots-errors3.norm.stderr2
-rw-r--r--t/fmt/man/dots1.man31
-rw-r--r--t/fmt/man/dots1.norm34
-rw-r--r--t/fmt/man/dots1.po73
-rw-r--r--t/fmt/man/dots1.pot70
-rw-r--r--t/fmt/man/dots1.trans34
-rw-r--r--t/fmt/man/dots2.man6
-rw-r--r--t/fmt/man/dots2.norm11
-rw-r--r--t/fmt/man/dots2.po35
-rw-r--r--t/fmt/man/dots2.pot35
-rw-r--r--t/fmt/man/dots2.trans11
-rw-r--r--t/fmt/man/escapes.man45
-rw-r--r--t/fmt/man/escapes.norm39
-rw-r--r--t/fmt/man/escapes.po111
-rw-r--r--t/fmt/man/escapes.pot107
-rw-r--r--t/fmt/man/escapes.trans39
-rw-r--r--t/fmt/man/fonts.man276
-rw-r--r--t/fmt/man/fonts.norm218
-rw-r--r--t/fmt/man/fonts.po381
-rw-r--r--t/fmt/man/fonts.pot381
-rw-r--r--t/fmt/man/fonts.trans218
-rw-r--r--t/fmt/man/hyphens-translate.man33
-rw-r--r--t/fmt/man/hyphens-translate.norm38
-rw-r--r--t/fmt/man/hyphens-translate.po101
-rw-r--r--t/fmt/man/hyphens-translate.pot97
-rw-r--r--t/fmt/man/hyphens-translate.trans38
-rw-r--r--t/fmt/man/hyphens-verbatim.man33
-rw-r--r--t/fmt/man/hyphens-verbatim.norm38
-rw-r--r--t/fmt/man/hyphens-verbatim.po86
-rw-r--r--t/fmt/man/hyphens-verbatim.pot86
-rw-r--r--t/fmt/man/hyphens-verbatim.trans38
-rw-r--r--t/fmt/man/macro-def.man12
-rw-r--r--t/fmt/man/macro-def.norm17
-rw-r--r--t/fmt/man/macro-def.po23
-rw-r--r--t/fmt/man/macro-def.pot41
-rw-r--r--t/fmt/man/macro-def.stderr-missing-behavior4
-rw-r--r--t/fmt/man/macro-def.trans17
-rw-r--r--t/fmt/man/macro-defuse.man13
-rw-r--r--t/fmt/man/macro-defuse.norm18
-rw-r--r--t/fmt/man/macro-defuse.po23
-rw-r--r--t/fmt/man/macro-defuse.po-noarg23
-rw-r--r--t/fmt/man/macro-defuse.pot41
-rw-r--r--t/fmt/man/macro-defuse.pot-noarg41
-rw-r--r--t/fmt/man/macro-defuse.stderr-missing-behavior7
-rw-r--r--t/fmt/man/macro-defuse.trans18
-rw-r--r--t/fmt/man/macros.man56
-rw-r--r--t/fmt/man/macros.norm57
-rw-r--r--t/fmt/man/macros.po177
-rw-r--r--t/fmt/man/macros.pot165
-rw-r--r--t/fmt/man/macros.trans57
-rw-r--r--t/fmt/man/mdoc.man44
-rw-r--r--t/fmt/man/mdoc.norm49
-rw-r--r--t/fmt/man/mdoc.po133
-rw-r--r--t/fmt/man/mdoc.pot127
-rw-r--r--t/fmt/man/mdoc.trans49
-rw-r--r--t/fmt/man/null.man22
-rw-r--r--t/fmt/man/null.norm26
-rw-r--r--t/fmt/man/null.po55
-rw-r--r--t/fmt/man/null.pot55
-rw-r--r--t/fmt/man/null.trans26
-rw-r--r--t/fmt/man/quoted-comment.man6
-rw-r--r--t/fmt/man/quoted-comment.norm6
-rw-r--r--t/fmt/man/quoted-comment.po18
-rw-r--r--t/fmt/man/quoted-comment.pot18
-rw-r--r--t/fmt/man/quoted-comment.trans6
-rw-r--r--t/fmt/man/quotes.man35
-rw-r--r--t/fmt/man/quotes.norm39
-rw-r--r--t/fmt/man/quotes.po85
-rw-r--r--t/fmt/man/quotes.pot85
-rw-r--r--t/fmt/man/quotes.trans39
-rw-r--r--t/fmt/man/spaces.man16
-rw-r--r--t/fmt/man/spaces.norm21
-rw-r--r--t/fmt/man/spaces.po62
-rw-r--r--t/fmt/man/spaces.pot62
-rw-r--r--t/fmt/man/spaces.trans21
-rw-r--r--t/fmt/man/tbl-mdoc-mixed1.man6
-rw-r--r--t/fmt/man/tbl-mdoc-mixed1.norm10
-rw-r--r--t/fmt/man/tbl-mdoc-mixed1.po46
-rw-r--r--t/fmt/man/tbl-mdoc-mixed1.pot34
-rw-r--r--t/fmt/man/tbl-mdoc-mixed1.trans10
-rw-r--r--t/fmt/man/tbl-mdoc-mixed2.man8
-rw-r--r--t/fmt/man/tbl-mdoc-mixed2.norm13
-rw-r--r--t/fmt/man/tbl-mdoc-mixed2.po52
-rw-r--r--t/fmt/man/tbl-mdoc-mixed2.pot46
-rw-r--r--t/fmt/man/tbl-mdoc-mixed2.trans13
-rw-r--r--t/fmt/man/tbl-mdoc-mixed3.man6
-rw-r--r--t/fmt/man/tbl-mdoc-mixed3.norm10
-rw-r--r--t/fmt/man/tbl-mdoc-mixed3.po46
-rw-r--r--t/fmt/man/tbl-mdoc-mixed3.pot34
-rw-r--r--t/fmt/man/tbl-mdoc-mixed3.trans10
-rw-r--r--t/fmt/man/tbl-mdoc-mixed4.man6
-rw-r--r--t/fmt/man/tbl-mdoc-mixed4.norm10
-rw-r--r--t/fmt/man/tbl-mdoc-mixed4.po46
-rw-r--r--t/fmt/man/tbl-mdoc-mixed4.pot34
-rw-r--r--t/fmt/man/tbl-mdoc-mixed4.trans10
-rw-r--r--t/fmt/man/tbl-option-tab.man20
-rw-r--r--t/fmt/man/tbl-option-tab.norm20
-rw-r--r--t/fmt/man/tbl-option-tab.po113
-rw-r--r--t/fmt/man/tbl-option-tab.pot113
-rw-r--r--t/fmt/man/tbl-option-tab.trans20
-rw-r--r--t/fmt/man/tbl-textblock.man32
-rw-r--r--t/fmt/man/tbl-textblock.norm32
-rw-r--r--t/fmt/man/tbl-textblock.po92
-rw-r--r--t/fmt/man/tbl-textblock.pot88
-rw-r--r--t/fmt/man/tbl-textblock.trans32
110 files changed, 5691 insertions, 0 deletions
diff --git a/t/fmt/man/dots-errors1.man b/t/fmt/man/dots-errors1.man
new file mode 100644
index 0000000..db9953e
--- /dev/null
+++ b/t/fmt/man/dots-errors1.man
@@ -0,0 +1,5 @@
+.TH dot2 1
+.\" Let's play a litte bit more with dots
+.\" \. is an escaped dot (thus it is equivalent to a dot)
+\.This line won't be displayed
+
diff --git a/t/fmt/man/dots-errors1.norm.stderr b/t/fmt/man/dots-errors1.norm.stderr
new file mode 100644
index 0000000..0d25290
--- /dev/null
+++ b/t/fmt/man/dots-errors1.norm.stderr
@@ -0,0 +1,2 @@
+dots-errors1.man:4: (po4a::man)
+Unknown macro '.This line won't be displayed'. Remove it from the document, or refer to the Locale::Po4a::Man manpage to see how po4a can handle new macros.
diff --git a/t/fmt/man/dots-errors2.man b/t/fmt/man/dots-errors2.man
new file mode 100644
index 0000000..4ffe782
--- /dev/null
+++ b/t/fmt/man/dots-errors2.man
@@ -0,0 +1,5 @@
+.TH dot3 1
+.\" Let's play a litte bit more with dots
+.\" \. is an escaped dot (thus it is equivalent to a dot)
+.This line won't be displayed
+
diff --git a/t/fmt/man/dots-errors2.norm.stderr b/t/fmt/man/dots-errors2.norm.stderr
new file mode 100644
index 0000000..6d06c50
--- /dev/null
+++ b/t/fmt/man/dots-errors2.norm.stderr
@@ -0,0 +1,2 @@
+dots-errors2.man:4: (po4a::man)
+Unknown macro '.This line won't be displayed'. Remove it from the document, or refer to the Locale::Po4a::Man manpage to see how po4a can handle new macros.
diff --git a/t/fmt/man/dots-errors3.man b/t/fmt/man/dots-errors3.man
new file mode 100644
index 0000000..6bb0e32
--- /dev/null
+++ b/t/fmt/man/dots-errors3.man
@@ -0,0 +1,5 @@
+.TH dot4 1
+.\" Let's play a litte bit more with dots
+. I think po4a should warn, as for:
+.This line won't be displayed
+
diff --git a/t/fmt/man/dots-errors3.norm.stderr b/t/fmt/man/dots-errors3.norm.stderr
new file mode 100644
index 0000000..16baf93
--- /dev/null
+++ b/t/fmt/man/dots-errors3.norm.stderr
@@ -0,0 +1,2 @@
+dots-errors3.man:4: (po4a::man)
+Unknown macro '.This line won't be displayed'. Remove it from the document, or refer to the Locale::Po4a::Man manpage to see how po4a can handle new macros.
diff --git a/t/fmt/man/dots1.man b/t/fmt/man/dots1.man
new file mode 100644
index 0000000..8d1ab1c
--- /dev/null
+++ b/t/fmt/man/dots1.man
@@ -0,0 +1,31 @@
+.TH test 1 test test
+.SH FOO
+
+.\" There is no problem here
+.IR 'foo1
+.IR .foo1
+
+\fI'foo2\fP
+\fI.foo2\fP
+
+.\" bug in a groff page:
+.br
+\fI.foo3\fP
+
+.br
+\fI'foo3\fP
+
+.\" This is correct:
+.br
+\fI\&.foo4\fP
+
+.br
+\fI\&'foo4\fP
+
+.\" po4a should not generate such a buggy page. It should add a \&
+.br
+.I .foo5
+
+.br
+.I 'foo5
+
diff --git a/t/fmt/man/dots1.norm b/t/fmt/man/dots1.norm
new file mode 100644
index 0000000..f44f59b
--- /dev/null
+++ b/t/fmt/man/dots1.norm
@@ -0,0 +1,34 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH test 1 test test
+.SH FOO
+
+.\" There is no problem here
+\&\fI'foo1\fP \fI.foo1\fP
+
+\&\fI'foo2\fP \fI.foo2\fP
+
+.\" bug in a groff page:
+.br
+\&\fI.foo3\fP
+
+.br
+\&\fI'foo3\fP
+
+.\" This is correct:
+.br
+\fI\&.foo4\fP
+
+.br
+\fI\&'foo4\fP
+
+.\" po4a should not generate such a buggy page. It should add a \&
+.br
+\&\fI.foo5\fP
+
+.br
+\&\fI'foo5\fP
+
diff --git a/t/fmt/man/dots1.po b/t/fmt/man/dots1.po
new file mode 100644
index 0000000..38b406f
--- /dev/null
+++ b/t/fmt/man/dots1.po
@@ -0,0 +1,73 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2004-11-28 20:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: dots1.man:1
+#, no-wrap
+msgid "test"
+msgstr "TEST"
+
+#. type: SH
+#: dots1.man:2
+#, no-wrap
+msgid "FOO"
+msgstr ""
+
+#. There is no problem here
+#. type: Plain text
+#: dots1.man:7
+msgid "I<'foo1> I<.foo1>"
+msgstr "I<'FOO1> I<.FOO1>"
+
+#. type: Plain text
+#: dots1.man:10
+msgid "I<'foo2> I<.foo2>"
+msgstr "I<'FOO2> I<.FOO2>"
+
+#. type: Plain text
+#: dots1.man:14
+msgid "I<.foo3>"
+msgstr "I<.FOO3>"
+
+#. type: Plain text
+#: dots1.man:17
+msgid "I<'foo3>"
+msgstr "I<'FOO3>"
+
+#. type: Plain text
+#: dots1.man:21
+msgid "I<\\&.foo4>"
+msgstr "I<\\&.FOO4>"
+
+#. type: Plain text
+#: dots1.man:24
+msgid "I<\\&'foo4>"
+msgstr "I<\\&'FOO4>"
+
+#. type: Plain text
+#: dots1.man:28
+msgid "I<.foo5>"
+msgstr "I<.FOO5>"
+
+#. type: Plain text
+#: dots1.man:31
+msgid "I<'foo5>"
+msgstr "I<'FOO5>"
+
+#~ msgid "foo"
+#~ msgstr "FOO"
diff --git a/t/fmt/man/dots1.pot b/t/fmt/man/dots1.pot
new file mode 100644
index 0000000..5cae7e2
--- /dev/null
+++ b/t/fmt/man/dots1.pot
@@ -0,0 +1,70 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2004-11-28 20:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: dots1.man:1
+#, no-wrap
+msgid "test"
+msgstr ""
+
+#. type: SH
+#: dots1.man:2
+#, no-wrap
+msgid "FOO"
+msgstr ""
+
+#. There is no problem here
+#. type: Plain text
+#: dots1.man:7
+msgid "I<'foo1> I<.foo1>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:10
+msgid "I<'foo2> I<.foo2>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:14
+msgid "I<.foo3>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:17
+msgid "I<'foo3>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:21
+msgid "I<\\&.foo4>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:24
+msgid "I<\\&'foo4>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:28
+msgid "I<.foo5>"
+msgstr ""
+
+#. type: Plain text
+#: dots1.man:31
+msgid "I<'foo5>"
+msgstr ""
diff --git a/t/fmt/man/dots1.trans b/t/fmt/man/dots1.trans
new file mode 100644
index 0000000..8ff8724
--- /dev/null
+++ b/t/fmt/man/dots1.trans
@@ -0,0 +1,34 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH TEST 1 TEST TEST
+.SH FOO
+
+.\" There is no problem here
+\&\fI'FOO1\fP \fI.FOO1\fP
+
+\&\fI'FOO2\fP \fI.FOO2\fP
+
+.\" bug in a groff page:
+.br
+\&\fI.FOO3\fP
+
+.br
+\&\fI'FOO3\fP
+
+.\" This is correct:
+.br
+\fI\&.FOO4\fP
+
+.br
+\fI\&'FOO4\fP
+
+.\" po4a should not generate such a buggy page. It should add a \&
+.br
+\&\fI.FOO5\fP
+
+.br
+\&\fI'FOO5\fP
+
diff --git a/t/fmt/man/dots2.man b/t/fmt/man/dots2.man
new file mode 100644
index 0000000..2d65ca3
--- /dev/null
+++ b/t/fmt/man/dots2.man
@@ -0,0 +1,6 @@
+.TH dots2 1
+.\" Let's play a litte bit more with dots
+.\" \. is an escaped dot (thus it is equivalent to a dot)
+Hello
+\. This line will be completely ignored
+world
diff --git a/t/fmt/man/dots2.norm b/t/fmt/man/dots2.norm
new file mode 100644
index 0000000..cb1114c
--- /dev/null
+++ b/t/fmt/man/dots2.norm
@@ -0,0 +1,11 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH dots2 1
+.\" Let's play a litte bit more with dots
+.\" . is an escaped dot (thus it is equivalent to a dot)
+Hello
+. This line will be completely ignored
+world
diff --git a/t/fmt/man/dots2.po b/t/fmt/man/dots2.po
new file mode 100644
index 0000000..62f667e
--- /dev/null
+++ b/t/fmt/man/dots2.po
@@ -0,0 +1,35 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2005-02-25 13:57+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: dots2.man:1
+#, no-wrap
+msgid "dots2"
+msgstr "DOTS2"
+
+#. Let's play a litte bit more with dots
+#. . is an escaped dot (thus it is equivalent to a dot)
+#. type: Plain text
+#: dots2.man:5
+msgid "Hello"
+msgstr "HELLO"
+
+#. type: Plain text
+#: dots2.man:6
+msgid "world"
+msgstr "WORLD"
diff --git a/t/fmt/man/dots2.pot b/t/fmt/man/dots2.pot
new file mode 100644
index 0000000..db87f69
--- /dev/null
+++ b/t/fmt/man/dots2.pot
@@ -0,0 +1,35 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2005-02-25 13:57+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: dots2.man:1
+#, no-wrap
+msgid "dots2"
+msgstr ""
+
+#. Let's play a litte bit more with dots
+#. . is an escaped dot (thus it is equivalent to a dot)
+#. type: Plain text
+#: dots2.man:5
+msgid "Hello"
+msgstr ""
+
+#. type: Plain text
+#: dots2.man:6
+msgid "world"
+msgstr ""
diff --git a/t/fmt/man/dots2.trans b/t/fmt/man/dots2.trans
new file mode 100644
index 0000000..91c7f36
--- /dev/null
+++ b/t/fmt/man/dots2.trans
@@ -0,0 +1,11 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH DOTS2 1
+.\" Let's play a litte bit more with dots
+.\" . is an escaped dot (thus it is equivalent to a dot)
+HELLO
+. This line will be completely ignored
+WORLD
diff --git a/t/fmt/man/escapes.man b/t/fmt/man/escapes.man
new file mode 100644
index 0000000..45d5968
--- /dev/null
+++ b/t/fmt/man/escapes.man
@@ -0,0 +1,45 @@
+.TH test 1
+.SH Section1
+.nf
+ [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \\
+ de:doc/de/mein_kram.sgml
+ [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \e
+ add_fr:doc/l10n/script.fr.add
+.fi
+
+.SH Section2
+\fI/etc/foo.conf\fR \ - foo configuration
+.br
+\fI/var/log/foo\fR \ - foo log file
+
+foo\c
+bar
+
+foo \c
+bar
+
+foo\c
+ b\fPa\fPr
+
+.B foo\c
+bar
+
+.I foo \c
+bar
+
+.BI foo\c
+b\fPa\fPr
+
+.IB foo \c
+b\fPa\fPr
+
+.BR foo\c
+ b\fPa\fPr
+
+.TP
+foo\c
+bar \c
+baz
+
+.RB [ \-d\~\c
+.IR ctext ]
diff --git a/t/fmt/man/escapes.norm b/t/fmt/man/escapes.norm
new file mode 100644
index 0000000..9e3c4f9
--- /dev/null
+++ b/t/fmt/man/escapes.norm
@@ -0,0 +1,39 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH test 1
+.SH Section1
+.nf
+ [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \e
+ de:doc/de/mein_kram.sgml
+ [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \e
+ add_fr:doc/l10n/script.fr.add
+.fi
+
+.SH Section2
+\fI/etc/foo.conf\fP \ \- foo configuration
+.br
+\fI/var/log/foo\fP \ \- foo log file
+
+foobar
+
+foo bar
+
+foo b\fIa\fPr
+
+\fBfoobar\fP
+
+\fIfoo bar\fP
+
+\fBfoo\fPb\fBa\fPr
+
+\fIfoo\fPb\fBa\fPr
+
+\fBfoo\fP b\fBa\fPr
+
+.TP
+foobar baz
+
+[\fB\-d\ \fP\fIctext\fP]
diff --git a/t/fmt/man/escapes.po b/t/fmt/man/escapes.po
new file mode 100644
index 0000000..318e0f9
--- /dev/null
+++ b/t/fmt/man/escapes.po
@@ -0,0 +1,111 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-06-04 2:55+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: escapes.man:1
+#, no-wrap
+msgid "test"
+msgstr "TEST"
+
+#. type: SH
+#: escapes.man:2
+#, no-wrap
+msgid "Section1"
+msgstr "SECTION1"
+
+#. type: Plain text
+#: escapes.man:8
+#, no-wrap
+msgid ""
+" [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \\e\n"
+" de:doc/de/mein_kram.sgml\n"
+" [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \\e\n"
+" add_fr:doc/l10n/script.fr.add\n"
+msgstr ""
+" [TYPE: SGML] DOC/MY_STUFF.SGML FR:DOC/FR/MON_TRUC.SGML \\e\n"
+" DE:DOC/DE/MEIN_KRAM.SGML\n"
+" [TYPE: POD] SCRIPT FR:DOC/FR/SCRIPT.1 DE:DOC/DE/SCRIPT.1 \\e\n"
+" ADD_FR:DOC/L10N/SCRIPT.FR.ADD\n"
+
+#. type: SH
+#: escapes.man:10
+#, no-wrap
+msgid "Section2"
+msgstr "SECTION2"
+
+#. type: Plain text
+#: escapes.man:12
+msgid "I</etc/foo.conf> \\\t- foo configuration"
+msgstr "I</ETC/FOO.CONF> \\\t- FOO CONFIGURATION"
+
+#. type: Plain text
+#: escapes.man:14
+msgid "I</var/log/foo> \\\t- foo log file"
+msgstr "I</VAR/LOG/FOO> \\\t- FOO LOG FILE"
+
+#. type: Plain text
+#: escapes.man:17
+msgid "foobar"
+msgstr "FOOBAR"
+
+#. type: Plain text
+#: escapes.man:20
+msgid "foo bar"
+msgstr "FOO BAR"
+
+#. type: Plain text
+#: escapes.man:23
+#, no-wrap
+msgid "foo bI<a>r\n"
+msgstr "FOO BI<A>R\n"
+
+#. type: Plain text
+#: escapes.man:26
+msgid "B<foobar>"
+msgstr "B<FOOBAR>"
+
+#. type: Plain text
+#: escapes.man:29
+msgid "I<foo bar>"
+msgstr "I<FOO BAR>"
+
+#. type: Plain text
+#: escapes.man:32
+msgid "B<foo>bB<a>r"
+msgstr "B<FOO>BB<A>R"
+
+#. type: Plain text
+#: escapes.man:35
+msgid "I<foo>bB<a>r"
+msgstr "I<FOO>BB<A>R"
+
+#. type: Plain text
+#: escapes.man:38
+msgid "B<foo> bB<a>r"
+msgstr "B<FOO> BB<A>R"
+
+#. type: TP
+#: escapes.man:39
+#, no-wrap
+msgid "foobar baz"
+msgstr "FOOBAR BAZ"
+
+#. type: Plain text
+#: escapes.man:45
+msgid "[B<-d\\ >I<ctext>]"
+msgstr "[B<-D\\ >I<CTEXT>]"
diff --git a/t/fmt/man/escapes.pot b/t/fmt/man/escapes.pot
new file mode 100644
index 0000000..cbcffee
--- /dev/null
+++ b/t/fmt/man/escapes.pot
@@ -0,0 +1,107 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-06-04 2:55+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: escapes.man:1
+#, no-wrap
+msgid "test"
+msgstr ""
+
+#. type: SH
+#: escapes.man:2
+#, no-wrap
+msgid "Section1"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:8
+#, no-wrap
+msgid ""
+" [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \\e\n"
+" de:doc/de/mein_kram.sgml\n"
+" [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \\e\n"
+" add_fr:doc/l10n/script.fr.add\n"
+msgstr ""
+
+#. type: SH
+#: escapes.man:10
+#, no-wrap
+msgid "Section2"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:12
+msgid "I</etc/foo.conf> \\\t- foo configuration"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:14
+msgid "I</var/log/foo> \\\t- foo log file"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:17
+msgid "foobar"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:20
+msgid "foo bar"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:23
+#, no-wrap
+msgid "foo bI<a>r\n"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:26
+msgid "B<foobar>"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:29
+msgid "I<foo bar>"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:32
+msgid "B<foo>bB<a>r"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:35
+msgid "I<foo>bB<a>r"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:38
+msgid "B<foo> bB<a>r"
+msgstr ""
+
+#. type: TP
+#: escapes.man:39
+#, no-wrap
+msgid "foobar baz"
+msgstr ""
+
+#. type: Plain text
+#: escapes.man:45
+msgid "[B<-d\\ >I<ctext>]"
+msgstr ""
diff --git a/t/fmt/man/escapes.trans b/t/fmt/man/escapes.trans
new file mode 100644
index 0000000..1160b69
--- /dev/null
+++ b/t/fmt/man/escapes.trans
@@ -0,0 +1,39 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH TEST 1
+.SH SECTION1
+.nf
+ [TYPE: SGML] DOC/MY_STUFF.SGML FR:DOC/FR/MON_TRUC.SGML \e
+ DE:DOC/DE/MEIN_KRAM.SGML
+ [TYPE: POD] SCRIPT FR:DOC/FR/SCRIPT.1 DE:DOC/DE/SCRIPT.1 \e
+ ADD_FR:DOC/L10N/SCRIPT.FR.ADD
+.fi
+
+.SH SECTION2
+\fI/ETC/FOO.CONF\fP \ \- FOO CONFIGURATION
+.br
+\fI/VAR/LOG/FOO\fP \ \- FOO LOG FILE
+
+FOOBAR
+
+FOO BAR
+
+FOO B\fIA\fPR
+
+\fBFOOBAR\fP
+
+\fIFOO BAR\fP
+
+\fBFOO\fPB\fBA\fPR
+
+\fIFOO\fPB\fBA\fPR
+
+\fBFOO\fP B\fBA\fPR
+
+.TP
+FOOBAR BAZ
+
+[\fB\-D\ \fP\fICTEXT\fP]
diff --git a/t/fmt/man/fonts.man b/t/fmt/man/fonts.man
new file mode 100644
index 0000000..b9c6b32
--- /dev/null
+++ b/t/fmt/man/fonts.man
@@ -0,0 +1,276 @@
+.TH FONTS 1
+.SH NAME
+fonts \- various nasty font usages
+
+.SH b\fPr\fIi
+r
+
+r1
+
+r
+.I
+.SH b\fPi\fIi
+r
+
+r2
+
+r
+\fI
+.SH b\fPi\fIi
+r
+
+r3
+
+r
+.I
+.SH
+b\fPi\fIi
+r
+
+r4
+
+r
+.I i\fPr\fPi
+r
+
+r5
+
+r
+.I
+i\fPr\fPi
+r
+
+r6
+
+r
+.I
+i\fPr
+r
+
+r7
+
+r
+.I
+.TP
+i\fPr\fPi
+r
+
+.P
+r8
+
+r
+\fI
+.TP
+i\fPr\fPi
+r
+
+r9
+
+r
+.I
+.B
+.TP
+b\fPi\fPb
+r
+
+r10
+
+r
+.I
+.B
+b\fPi\fPb
+r
+
+r11
+
+.\" This is used in bash.1, and is not supported at this time.
+.\"
+.\"r
+.\".I
+.\".if n nroff
+.\".if t troff
+.\"
+.\" '.I' tells that only one line will use the I font.
+.\" and it's very difficult to predict the number of line that must be affected
+.\" in the case of .if (In this case, the font mut be reverted to the previous
+.\" one after the second '.if'.
+
+r
+.I
+i\fPr\fBb
+r
+
+r12
+
+\fBb
+.I
+i\fPb
+r
+
+r13
+
+.BI b i
+r\fPi\fRr
+
+
+r14
+
+.BI b i
+\fPi\fPr
+
+r15
+
+.BI
+r\fPi\fPr
+
+r16
+
+.I
+.P
+r\fPi\fPr
+
+r17
+
+\fI
+.P
+r\fPi\fPr
+
+r18
+
+\fI
+.PP
+r\fPi\fPr
+
+r19
+
+.I
+.PP
+r\fPi\fPr
+
+r20
+
+\fI
+.LP
+r\fPi\fPr
+
+r21
+
+.I
+.LP
+r\fPi\fPr
+
+r22
+
+.B
+.TP
+.I
+i\fPb\fPi
+r
+
+r23
+
+.SH
+.I
+i\fPb\fPi
+r
+
+r24
+
+.I
+.SH
+.B
+b\fPb\fPb
+r
+
+r25
+
+.IP r
+r
+
+r26
+
+.I
+.IP i
+r\fPi\fPr
+
+r27
+
+.I
+.B
+.IP b\fPi
+r\fPi\fPr
+
+r28
+
+r
+.I
+.B
+b\fPi
+r
+
+.P
+r29
+
+r
+.BR b\fPi r b
+r\fPb\fPr
+
+.\" The ".I" adds another \fR at the end of the .BR line
+r
+.I
+.BR b\fPi r b
+r\fPr\fPr
+
+r30
+
+r
+.I
+.BI b
+.TP
+r\fPr\fPr
+r
+
+.P
+r31
+
+r
+\fI\c
+.B
+b\fPi\fPb
+r
+
+r32
+
+r
+.BR b r
+r\fPr
+.BR b r b
+r\fPb\fPr
+
+r33
+
+r
+.I
+i
+r\fPi\fPr
+
+r34
+
+r
+.B
+.I
+i
+r\fPi\fPr
+
+r35
+
+a <
+.B foo
+
+r36
+
+.TP
+.I " "
+foo
+
+r37
diff --git a/t/fmt/man/fonts.norm b/t/fmt/man/fonts.norm
new file mode 100644
index 0000000..d526f85
--- /dev/null
+++ b/t/fmt/man/fonts.norm
@@ -0,0 +1,218 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH FONTS 1
+.SH NAME
+fonts \- various nasty font usages
+
+.SH b\fRr\fP\fIi\fP
+r
+
+r1
+
+r
+.SH b\fIii\fP
+r
+
+r2
+
+r
+.SH b\fIii\fP
+r
+
+r3
+
+r
+.SH b\fIii\fP
+r
+
+r4
+
+r \fIi\fPr\fIi\fP r
+
+r5
+
+r \fIi\fPr\fIi\fP r
+
+r6
+
+r \fIi\fPr r
+
+r7
+
+r
+.TP
+\fIi\fPr\fIi\fP
+r
+
+.P
+r8
+
+r
+.TP
+\fIi\fPr\fIi\fP
+r
+
+r9
+
+r
+.TP
+\fBb\fP\fIi\fP\fBb\fP
+r
+
+r10
+
+r \fBb\fP\fIi\fP\fBb\fP r
+
+r11
+
+
+.\" This is used in bash.1, and is not supported at this time.
+.\"
+.\"r
+.\".I
+.\".if n nroff
+.\".if t troff
+.\"
+.\" '.I' tells that only one line will use the I font.
+.\" and it's very difficult to predict the number of line that must be affected
+.\" in the case of .if (In this case, the font mut be reverted to the previous
+.\" one after the second '.if'.
+r \fIi\fPr\fBb\fP r
+
+r12
+
+\fBb \fP\fIi\fP\fBb\fP r
+
+r13
+
+\fBb\fP\fIi\fP r\fIi\fPr
+
+
+r14
+
+\fBb\fP\fIi\fP \fIi\fPr
+
+r15
+
+
+r\fIi\fPr
+
+r16
+
+\fI
+.P
+r\fIi\fPr
+
+r17
+
+\fI
+.P
+r\fIi\fPr
+
+r18
+
+\fI
+.PP
+r\fIi\fPr
+
+r19
+
+\fI
+.PP
+r\fIi\fPr
+
+r20
+
+\fI
+.LP
+r\fIi\fPr
+
+r21
+
+\fI
+.LP
+r\fIi\fPr
+
+r22
+
+\fB
+.TP
+\fIi\fP\fBb\fP\fIi\fP
+r
+
+r23
+
+.SH \fIi\fPb\fIi\fP
+r
+
+r24
+
+\fI
+.SH bbb
+r
+
+r25
+
+.IP r
+r
+
+r26
+
+.IP \fIi\fP
+r\fIi\fPr
+
+r27
+
+.IP \fBb\fP\fIi\fP
+r\fIi\fPr
+
+r28
+
+r \fBb\fP\fIi\fP r
+
+.P
+r29
+
+r \fBb\fPir\fBb\fP r\fBb\fPr
+
+.\" The ".I" adds another \fR at the end of the .BR line
+r \fBb\fP\fIi\fPr\fBb\fP rrr
+
+r30
+
+r \fBb\fP
+.TP
+rrr
+r
+
+.P
+r31
+
+r \fBb\fP\fIi\fP\fBb\fP r
+
+r32
+
+r \fBb\fPr rr \fBb\fPr\fBb\fP r\fBb\fPr
+
+r33
+
+r \fIi\fP r\fIi\fPr
+
+r34
+
+r \fIi\fP r\fIi\fPr
+
+r35
+
+a < \fBfoo\fP
+
+r36
+
+.TP
+\fI\& \&\fR
+foo
+
+r37
diff --git a/t/fmt/man/fonts.po b/t/fmt/man/fonts.po
new file mode 100644
index 0000000..5be0cb4
--- /dev/null
+++ b/t/fmt/man/fonts.po
@@ -0,0 +1,381 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-09-05 21:42+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: fonts.man:1
+#, no-wrap
+msgid "FONTS"
+msgstr "FONTS"
+
+#. type: SH
+#: fonts.man:2
+#, no-wrap
+msgid "NAME"
+msgstr "NAME"
+
+#. type: Plain text
+#: fonts.man:4
+msgid "fonts - various nasty font usages"
+msgstr "FONTS - VARIOUS NASTY FONT USAGES"
+
+#. type: SH
+#: fonts.man:5
+#, no-wrap
+msgid "bR<r>I<i>"
+msgstr "BR<R>I<I>"
+
+#. type: Plain text
+#: fonts.man:7 fonts.man:12 fonts.man:14 fonts.man:19 fonts.man:21 fonts.man:26
+#: fonts.man:29 fonts.man:54 fonts.man:57 fonts.man:63 fonts.man:66
+#: fonts.man:72 fonts.man:75 fonts.man:169 fonts.man:176 fonts.man:184
+#: fonts.man:187 fonts.man:189 fonts.man:232
+#, no-wrap
+msgid "r"
+msgstr "R"
+
+#. type: Plain text
+#: fonts.man:9
+msgid "r1"
+msgstr "R1"
+
+#. type: SH
+#: fonts.man:12 fonts.man:19 fonts.man:26
+#, no-wrap
+msgid "bI<ii>"
+msgstr "BI<II>"
+
+#. type: Plain text
+#: fonts.man:16
+msgid "r2"
+msgstr "R2"
+
+#. type: Plain text
+#: fonts.man:23
+msgid "r3"
+msgstr "R3"
+
+#. type: Plain text
+#: fonts.man:31
+msgid "r4"
+msgstr "R4"
+
+#. type: Plain text
+#: fonts.man:35 fonts.man:42
+msgid "r I<i>rI<i> r"
+msgstr "R I<I>RI<I> R"
+
+#. type: Plain text
+#: fonts.man:37
+msgid "r5"
+msgstr "R5"
+
+#. type: Plain text
+#: fonts.man:44
+msgid "r6"
+msgstr "R6"
+
+#. type: Plain text
+#: fonts.man:49
+msgid "r I<i>r r"
+msgstr "R I<I>R R"
+
+#. type: Plain text
+#: fonts.man:51
+msgid "r7"
+msgstr "R7"
+
+#. type: TP
+#: fonts.man:54 fonts.man:63
+#, no-wrap
+msgid "I<i>rI<i>"
+msgstr "I<I>RI<I>"
+
+#. type: Plain text
+#: fonts.man:60
+msgid "r8"
+msgstr "R8"
+
+#. type: Plain text
+#: fonts.man:68
+msgid "r9"
+msgstr "R9"
+
+#. type: TP
+#: fonts.man:72
+#, no-wrap
+msgid "B<b>I<i>B<b>"
+msgstr "B<B>I<I>B<B>"
+
+#. type: Plain text
+#: fonts.man:77
+msgid "r10"
+msgstr "R10"
+
+#. type: Plain text
+#: fonts.man:83 fonts.man:241
+msgid "r B<b>I<i>B<b> r"
+msgstr "R B<B>I<I>B<B> R"
+
+#. type: Plain text
+#: fonts.man:85
+msgid "r11"
+msgstr "R11"
+
+#. This is used in bash.1, and is not supported at this time.
+#
+#. r
+#. .I
+#. .if n nroff
+#. .if t troff
+#
+#. '.I' tells that only one line will use the I font.
+#. and it's very difficult to predict the number of line that must be affected
+#. in the case of .if (In this case, the font mut be reverted to the previous
+#. one after the second '.if'.
+#. type: Plain text
+#: fonts.man:102
+msgid "r I<i>rB<b> r"
+msgstr "R I<I>RB<B> R"
+
+#. type: Plain text
+#: fonts.man:104
+msgid "r12"
+msgstr "R12"
+
+#. type: Plain text
+#: fonts.man:109
+msgid "B<b >I<i>B<b> r"
+msgstr "B<B >I<I>B<B> R"
+
+#. type: Plain text
+#: fonts.man:111
+msgid "r13"
+msgstr "R13"
+
+#. type: Plain text
+#: fonts.man:114
+msgid "B<b>I<i> rI<i>r"
+msgstr "B<B>I<I> RI<I>R"
+
+#. type: Plain text
+#: fonts.man:117
+msgid "r14"
+msgstr "R14"
+
+#. type: Plain text
+#: fonts.man:120
+msgid "B<b>I<i> I<i>r"
+msgstr "B<B>I<I> I<I>R"
+
+#. type: Plain text
+#: fonts.man:122
+msgid "r15"
+msgstr "R15"
+
+#. type: Plain text
+#: fonts.man:125 fonts.man:131 fonts.man:137 fonts.man:143 fonts.man:149
+#: fonts.man:155 fonts.man:161 fonts.man:195 fonts.man:202
+msgid "rI<i>r"
+msgstr "RI<I>R"
+
+#. type: Plain text
+#: fonts.man:127
+msgid "r16"
+msgstr "R16"
+
+#. type: Plain text
+#: fonts.man:133
+msgid "r17"
+msgstr "R17"
+
+#. type: Plain text
+#: fonts.man:139
+msgid "r18"
+msgstr "R18"
+
+#. type: Plain text
+#: fonts.man:145
+msgid "r19"
+msgstr "R19"
+
+#. type: Plain text
+#: fonts.man:151
+msgid "r20"
+msgstr "R20"
+
+#. type: Plain text
+#: fonts.man:157
+msgid "r21"
+msgstr "R21"
+
+#. type: Plain text
+#: fonts.man:163
+msgid "r22"
+msgstr "R22"
+
+#. type: TP
+#: fonts.man:165
+#, no-wrap
+msgid "I<i>B<b>I<i>"
+msgstr "I<I>B<B>I<I>"
+
+#. type: Plain text
+#: fonts.man:171
+msgid "r23"
+msgstr "R23"
+
+#. type: SH
+#: fonts.man:172
+#, no-wrap
+msgid "I<i>bI<i>"
+msgstr "I<I>BI<I>"
+
+#. type: Plain text
+#: fonts.man:178
+msgid "r24"
+msgstr "R24"
+
+#. type: SH
+#: fonts.man:180
+#, no-wrap
+msgid "bbb"
+msgstr "BBB"
+
+#. type: Plain text
+#: fonts.man:186
+msgid "r25"
+msgstr "R25"
+
+#. type: Plain text
+#: fonts.man:191
+msgid "r26"
+msgstr "R26"
+
+#. type: IP
+#: fonts.man:193
+#, no-wrap
+msgid "I<i>"
+msgstr "I<I>"
+
+#. type: Plain text
+#: fonts.man:197
+msgid "r27"
+msgstr "R27"
+
+#. type: IP
+#: fonts.man:200
+#, no-wrap
+msgid "B<b>I<i>"
+msgstr "B<B>I<I>"
+
+#. type: Plain text
+#: fonts.man:204
+msgid "r28"
+msgstr "R28"
+
+#. type: Plain text
+#: fonts.man:210
+msgid "r B<b>I<i> r"
+msgstr "R B<B>I<I> R"
+
+#. type: Plain text
+#: fonts.man:213
+msgid "r29"
+msgstr "R29"
+
+#. type: Plain text
+#: fonts.man:217
+msgid "r B<b>irB<b> rB<b>r"
+msgstr "R B<B>IRB<B> RB<B>R"
+
+#. The ".I" adds another \fR at the end of the .BR line
+#. type: Plain text
+#: fonts.man:223
+msgid "r B<b>I<i>rB<b> rrr"
+msgstr "R B<B>I<I>RB<B> RRR"
+
+#. type: Plain text
+#: fonts.man:225
+msgid "r30"
+msgstr "R30"
+
+#. type: Plain text
+#: fonts.man:229
+msgid "r B<b>"
+msgstr "R B<B>"
+
+#. type: TP
+#: fonts.man:229
+#, no-wrap
+msgid "rrr"
+msgstr "RRR"
+
+#. type: Plain text
+#: fonts.man:235
+msgid "r31"
+msgstr "R31"
+
+#. type: Plain text
+#: fonts.man:243
+msgid "r32"
+msgstr "R32"
+
+#. type: Plain text
+#: fonts.man:249
+msgid "r B<b>r rr B<b>rB<b> rB<b>r"
+msgstr "R B<B>R RR B<B>RB<B> RB<B>R"
+
+#. type: Plain text
+#: fonts.man:251
+msgid "r33"
+msgstr "R33"
+
+#. type: Plain text
+#: fonts.man:256 fonts.man:264
+msgid "r I<i> rI<i>r"
+msgstr "R I<I> RI<I>R"
+
+#. type: Plain text
+#: fonts.man:258
+msgid "r34"
+msgstr "R34"
+
+#. type: Plain text
+#: fonts.man:266
+msgid "r35"
+msgstr "R35"
+
+#. type: Plain text
+#: fonts.man:269
+msgid "a E<lt> B<foo>"
+msgstr "A E<lt> B<FOO>"
+
+#. type: Plain text
+#: fonts.man:271
+msgid "r36"
+msgstr "R36"
+
+#. type: Plain text
+#: fonts.man:275
+msgid "foo"
+msgstr "FOO"
+
+#. type: Plain text
+#: fonts.man:276
+msgid "r37"
+msgstr "R37"
diff --git a/t/fmt/man/fonts.pot b/t/fmt/man/fonts.pot
new file mode 100644
index 0000000..37108a7
--- /dev/null
+++ b/t/fmt/man/fonts.pot
@@ -0,0 +1,381 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-09-05 21:42+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: fonts.man:1
+#, no-wrap
+msgid "FONTS"
+msgstr ""
+
+#. type: SH
+#: fonts.man:2
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:4
+msgid "fonts - various nasty font usages"
+msgstr ""
+
+#. type: SH
+#: fonts.man:5
+#, no-wrap
+msgid "bR<r>I<i>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:7 fonts.man:12 fonts.man:14 fonts.man:19 fonts.man:21 fonts.man:26
+#: fonts.man:29 fonts.man:54 fonts.man:57 fonts.man:63 fonts.man:66
+#: fonts.man:72 fonts.man:75 fonts.man:169 fonts.man:176 fonts.man:184
+#: fonts.man:187 fonts.man:189 fonts.man:232
+#, no-wrap
+msgid "r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:9
+msgid "r1"
+msgstr ""
+
+#. type: SH
+#: fonts.man:12 fonts.man:19 fonts.man:26
+#, no-wrap
+msgid "bI<ii>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:16
+msgid "r2"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:23
+msgid "r3"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:31
+msgid "r4"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:35 fonts.man:42
+msgid "r I<i>rI<i> r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:37
+msgid "r5"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:44
+msgid "r6"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:49
+msgid "r I<i>r r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:51
+msgid "r7"
+msgstr ""
+
+#. type: TP
+#: fonts.man:54 fonts.man:63
+#, no-wrap
+msgid "I<i>rI<i>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:60
+msgid "r8"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:68
+msgid "r9"
+msgstr ""
+
+#. type: TP
+#: fonts.man:72
+#, no-wrap
+msgid "B<b>I<i>B<b>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:77
+msgid "r10"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:83 fonts.man:241
+msgid "r B<b>I<i>B<b> r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:85
+msgid "r11"
+msgstr ""
+
+#. This is used in bash.1, and is not supported at this time.
+#
+#. r
+#. .I
+#. .if n nroff
+#. .if t troff
+#
+#. '.I' tells that only one line will use the I font.
+#. and it's very difficult to predict the number of line that must be affected
+#. in the case of .if (In this case, the font mut be reverted to the previous
+#. one after the second '.if'.
+#. type: Plain text
+#: fonts.man:102
+msgid "r I<i>rB<b> r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:104
+msgid "r12"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:109
+msgid "B<b >I<i>B<b> r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:111
+msgid "r13"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:114
+msgid "B<b>I<i> rI<i>r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:117
+msgid "r14"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:120
+msgid "B<b>I<i> I<i>r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:122
+msgid "r15"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:125 fonts.man:131 fonts.man:137 fonts.man:143 fonts.man:149
+#: fonts.man:155 fonts.man:161 fonts.man:195 fonts.man:202
+msgid "rI<i>r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:127
+msgid "r16"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:133
+msgid "r17"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:139
+msgid "r18"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:145
+msgid "r19"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:151
+msgid "r20"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:157
+msgid "r21"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:163
+msgid "r22"
+msgstr ""
+
+#. type: TP
+#: fonts.man:165
+#, no-wrap
+msgid "I<i>B<b>I<i>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:171
+msgid "r23"
+msgstr ""
+
+#. type: SH
+#: fonts.man:172
+#, no-wrap
+msgid "I<i>bI<i>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:178
+msgid "r24"
+msgstr ""
+
+#. type: SH
+#: fonts.man:180
+#, no-wrap
+msgid "bbb"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:186
+msgid "r25"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:191
+msgid "r26"
+msgstr ""
+
+#. type: IP
+#: fonts.man:193
+#, no-wrap
+msgid "I<i>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:197
+msgid "r27"
+msgstr ""
+
+#. type: IP
+#: fonts.man:200
+#, no-wrap
+msgid "B<b>I<i>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:204
+msgid "r28"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:210
+msgid "r B<b>I<i> r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:213
+msgid "r29"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:217
+msgid "r B<b>irB<b> rB<b>r"
+msgstr ""
+
+#. The ".I" adds another \fR at the end of the .BR line
+#. type: Plain text
+#: fonts.man:223
+msgid "r B<b>I<i>rB<b> rrr"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:225
+msgid "r30"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:229
+msgid "r B<b>"
+msgstr ""
+
+#. type: TP
+#: fonts.man:229
+#, no-wrap
+msgid "rrr"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:235
+msgid "r31"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:243
+msgid "r32"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:249
+msgid "r B<b>r rr B<b>rB<b> rB<b>r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:251
+msgid "r33"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:256 fonts.man:264
+msgid "r I<i> rI<i>r"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:258
+msgid "r34"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:266
+msgid "r35"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:269
+msgid "a E<lt> B<foo>"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:271
+msgid "r36"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:275
+msgid "foo"
+msgstr ""
+
+#. type: Plain text
+#: fonts.man:276
+msgid "r37"
+msgstr ""
diff --git a/t/fmt/man/fonts.trans b/t/fmt/man/fonts.trans
new file mode 100644
index 0000000..11af3a2
--- /dev/null
+++ b/t/fmt/man/fonts.trans
@@ -0,0 +1,218 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH FONTS 1
+.SH NAME
+FONTS \- VARIOUS NASTY FONT USAGES
+
+.SH B\fRR\fP\fII\fP
+R
+
+R1
+
+R
+.SH B\fIII\fP
+R
+
+R2
+
+R
+.SH B\fIII\fP
+R
+
+R3
+
+R
+.SH B\fIII\fP
+R
+
+R4
+
+R \fII\fPR\fII\fP R
+
+R5
+
+R \fII\fPR\fII\fP R
+
+R6
+
+R \fII\fPR R
+
+R7
+
+R
+.TP
+\fII\fPR\fII\fP
+R
+
+.P
+R8
+
+R
+.TP
+\fII\fPR\fII\fP
+R
+
+R9
+
+R
+.TP
+\fBB\fP\fII\fP\fBB\fP
+R
+
+R10
+
+R \fBB\fP\fII\fP\fBB\fP R
+
+R11
+
+
+.\" This is used in bash.1, and is not supported at this time.
+.\"
+.\"r
+.\".I
+.\".if n nroff
+.\".if t troff
+.\"
+.\" '.I' tells that only one line will use the I font.
+.\" and it's very difficult to predict the number of line that must be affected
+.\" in the case of .if (In this case, the font mut be reverted to the previous
+.\" one after the second '.if'.
+R \fII\fPR\fBB\fP R
+
+R12
+
+\fBB \fP\fII\fP\fBB\fP R
+
+R13
+
+\fBB\fP\fII\fP R\fII\fPR
+
+
+R14
+
+\fBB\fP\fII\fP \fII\fPR
+
+R15
+
+
+R\fII\fPR
+
+R16
+
+\fI
+.P
+R\fII\fPR
+
+R17
+
+\fI
+.P
+R\fII\fPR
+
+R18
+
+\fI
+.PP
+R\fII\fPR
+
+R19
+
+\fI
+.PP
+R\fII\fPR
+
+R20
+
+\fI
+.LP
+R\fII\fPR
+
+R21
+
+\fI
+.LP
+R\fII\fPR
+
+R22
+
+\fB
+.TP
+\fII\fP\fBB\fP\fII\fP
+R
+
+R23
+
+.SH \fII\fPB\fII\fP
+R
+
+R24
+
+\fI
+.SH BBB
+R
+
+R25
+
+.IP R
+R
+
+R26
+
+.IP \fII\fP
+R\fII\fPR
+
+R27
+
+.IP \fBB\fP\fII\fP
+R\fII\fPR
+
+R28
+
+R \fBB\fP\fII\fP R
+
+.P
+R29
+
+R \fBB\fPIR\fBB\fP R\fBB\fPR
+
+.\" The ".I" adds another \fR at the end of the .BR line
+R \fBB\fP\fII\fPR\fBB\fP RRR
+
+R30
+
+R \fBB\fP
+.TP
+RRR
+R
+
+.P
+R31
+
+R \fBB\fP\fII\fP\fBB\fP R
+
+R32
+
+R \fBB\fPR RR \fBB\fPR\fBB\fP R\fBB\fPR
+
+R33
+
+R \fII\fP R\fII\fPR
+
+R34
+
+R \fII\fP R\fII\fPR
+
+R35
+
+A < \fBFOO\fP
+
+R36
+
+.TP
+\fI\& \&\fR
+FOO
+
+R37
diff --git a/t/fmt/man/hyphens-translate.man b/t/fmt/man/hyphens-translate.man
new file mode 100644
index 0000000..63c863f
--- /dev/null
+++ b/t/fmt/man/hyphens-translate.man
@@ -0,0 +1,33 @@
+.TH TEST-PO4A-HYPHENS 1
+
+.SH NAME
+
+test-po4a-hyphens - This is just-a-test
+
+.SH TITLE WITH-HYPHEN
+
+.\" Some exceptions:
+
+.\" Debian bug #470849
+.ie c \[shc] \
+. ds soft-hyphen \[shc]
+.el \
+. ds soft-hyphen \(hy
+
+continuation hyphen@255@\*[soft-hyphen]@-
+
+test \s-1small text\s+1 \s-1small-text\s+1 \s-1small\s+1
+
+test \(.-, \(<-, or \(-D
+
+Let's try TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+
+\H'-5'test
+
+\C'test - test' \C'test-test'
+
+\Z@\v'-.25m'\l'\\n[ww]u'@\\$1
+
+test \[test-test]
+
+test \*(-a \*(a-
diff --git a/t/fmt/man/hyphens-translate.norm b/t/fmt/man/hyphens-translate.norm
new file mode 100644
index 0000000..0a149b7
--- /dev/null
+++ b/t/fmt/man/hyphens-translate.norm
@@ -0,0 +1,38 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH TEST\-PO4A\-HYPHENS 1
+
+.SH NAME
+
+test\-po4a\-hyphens \- This is just\-a\-test
+
+.SH "TITLE WITH\-HYPHEN"
+
+
+.\" Some exceptions:
+.ie c \[shc] \
+. ds soft-hyphen \[shc]
+.el \
+. ds soft-hyphen \(hy
+
+.\" Debian bug #470849
+continuation hyphen@255@\*[soft-hyphen]@\-
+
+test \s-1small text\s+1 \s-1small\-text\s+1 \s-1small\s+1
+
+test \(.-, \(<-, or \(-D
+
+Let's try TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+
+\H'-5'test
+
+\C'test - test' \C'test-test'
+
+\Z@\v'-.25m'\l'\en[ww]u'@\e$1
+
+test \[test-test]
+
+test \*(-a \*(a-
diff --git a/t/fmt/man/hyphens-translate.po b/t/fmt/man/hyphens-translate.po
new file mode 100644
index 0000000..8175ab3
--- /dev/null
+++ b/t/fmt/man/hyphens-translate.po
@@ -0,0 +1,101 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2008-03-14 21:23+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: hyphens-translate.man:1
+#, no-wrap
+msgid "TEST-PO4A-HYPHENS"
+msgstr "test-po4a-hyphens"
+
+#. type: SH
+#: hyphens-translate.man:3
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: hyphens-translate.man:6
+msgid "test-po4a-hyphens - This is just-a-test"
+msgstr "TEST-PO4A-HYPHENS - THIS IS JUST-A-TEST"
+
+#. type: SH
+#: hyphens-translate.man:7
+#, no-wrap
+msgid "TITLE WITH-HYPHEN"
+msgstr "title with-hyphen"
+
+#. Some exceptions:
+#. type: groff code
+#: hyphens-translate.man:12
+#, no-wrap
+msgid ""
+".ie c \\[shc] \\\n"
+". ds soft-hyphen \\[shc]\n"
+".el \\\n"
+". ds soft-hyphen \\(hy\n"
+msgstr ""
+".ie c \\[shc] \\\n"
+". ds soft-hyphen \\[shc]\n"
+".el \\\n"
+". ds soft-hyphen \\(hy\n"
+
+#. Debian bug #470849
+#. type: Plain text
+#: hyphens-translate.man:18
+msgid "continuation hyphen@255@\\*[soft-hyphen]@-"
+msgstr "CONTINUATION HYPHEN@255@\\*[soft-hyphen]@-"
+
+#. type: Plain text
+#: hyphens-translate.man:20
+msgid "test \\s-1small text\\s+1 \\s-1small-text\\s+1 \\s-1small\\s+1"
+msgstr "TEST \\s-1small text\\s+1 \\s-1small-text\\s+1 \\s-1small\\s+1"
+
+#. type: Plain text
+#: hyphens-translate.man:22
+msgid "test \\(.-, \\(E<lt>-, or \\(-D"
+msgstr "TEST \\(.-, \\(E<lt>-, OR \\(-D"
+
+#. type: Plain text
+#: hyphens-translate.man:24
+msgid "Let's try TeX T\\h'-.1667m'\\v'.224m'E\\v'-.224m'\\h'-.125m'X"
+msgstr "LET'S TRY tEx T\\h'-.1667m'\\v'.224m'E\\v'-.224m'\\h'-.125m'X"
+
+#. type: Plain text
+#: hyphens-translate.man:26
+msgid "\\H'-5'test"
+msgstr "\\H'-5'TEST"
+
+#. type: Plain text
+#: hyphens-translate.man:28
+msgid "\\C'test - test' \\C'test-test'"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:30
+msgid "\\Z@\\v'-.25m'\\l'\\en[ww]u'@\\e$1"
+msgstr "\\Z@\\v'-.25m'\\l'\\en[ww]u'@\\e$1"
+
+#. type: Plain text
+#: hyphens-translate.man:32
+msgid "test \\[test-test]"
+msgstr "TEST \\[TEST-TEST]"
+
+#. type: Plain text
+#: hyphens-translate.man:33
+msgid "test \\*(-a \\*(a-"
+msgstr "TEST \\*(-a \\*(a-"
diff --git a/t/fmt/man/hyphens-translate.pot b/t/fmt/man/hyphens-translate.pot
new file mode 100644
index 0000000..e1bb366
--- /dev/null
+++ b/t/fmt/man/hyphens-translate.pot
@@ -0,0 +1,97 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2008-03-14 21:23+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: hyphens-translate.man:1
+#, no-wrap
+msgid "TEST-PO4A-HYPHENS"
+msgstr ""
+
+#. type: SH
+#: hyphens-translate.man:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:6
+msgid "test-po4a-hyphens - This is just-a-test"
+msgstr ""
+
+#. type: SH
+#: hyphens-translate.man:7
+#, no-wrap
+msgid "TITLE WITH-HYPHEN"
+msgstr ""
+
+#. Some exceptions:
+#. type: groff code
+#: hyphens-translate.man:12
+#, no-wrap
+msgid ""
+".ie c \\[shc] \\\n"
+". ds soft-hyphen \\[shc]\n"
+".el \\\n"
+". ds soft-hyphen \\(hy\n"
+msgstr ""
+
+#. Debian bug #470849
+#. type: Plain text
+#: hyphens-translate.man:18
+msgid "continuation hyphen@255@\\*[soft-hyphen]@-"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:20
+msgid "test \\s-1small text\\s+1 \\s-1small-text\\s+1 \\s-1small\\s+1"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:22
+msgid "test \\(.-, \\(E<lt>-, or \\(-D"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:24
+msgid "Let's try TeX T\\h'-.1667m'\\v'.224m'E\\v'-.224m'\\h'-.125m'X"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:26
+msgid "\\H'-5'test"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:28
+msgid "\\C'test - test' \\C'test-test'"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:30
+msgid "\\Z@\\v'-.25m'\\l'\\en[ww]u'@\\e$1"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:32
+msgid "test \\[test-test]"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-translate.man:33
+msgid "test \\*(-a \\*(a-"
+msgstr ""
diff --git a/t/fmt/man/hyphens-translate.trans b/t/fmt/man/hyphens-translate.trans
new file mode 100644
index 0000000..387ce2a
--- /dev/null
+++ b/t/fmt/man/hyphens-translate.trans
@@ -0,0 +1,38 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH test\-po4a\-hyphens 1
+
+.SH name
+
+TEST\-PO4A\-HYPHENS \- THIS IS JUST\-A\-TEST
+
+.SH "title with\-hyphen"
+
+
+.\" Some exceptions:
+.ie c \[shc] \
+. ds soft-hyphen \[shc]
+.el \
+. ds soft-hyphen \(hy
+
+.\" Debian bug #470849
+CONTINUATION HYPHEN@255@\*[soft-hyphen]@\-
+
+TEST \s-1small text\s+1 \s-1small\-text\s+1 \s-1small\s+1
+
+TEST \(.-, \(<-, OR \(-D
+
+LET'S TRY tEx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+
+\H'-5'TEST
+
+\C'test - test' \C'test-test'
+
+\Z@\v'-.25m'\l'\en[ww]u'@\e$1
+
+TEST \[TEST-TEST]
+
+TEST \*(-a \*(a-
diff --git a/t/fmt/man/hyphens-verbatim.man b/t/fmt/man/hyphens-verbatim.man
new file mode 100644
index 0000000..63c863f
--- /dev/null
+++ b/t/fmt/man/hyphens-verbatim.man
@@ -0,0 +1,33 @@
+.TH TEST-PO4A-HYPHENS 1
+
+.SH NAME
+
+test-po4a-hyphens - This is just-a-test
+
+.SH TITLE WITH-HYPHEN
+
+.\" Some exceptions:
+
+.\" Debian bug #470849
+.ie c \[shc] \
+. ds soft-hyphen \[shc]
+.el \
+. ds soft-hyphen \(hy
+
+continuation hyphen@255@\*[soft-hyphen]@-
+
+test \s-1small text\s+1 \s-1small-text\s+1 \s-1small\s+1
+
+test \(.-, \(<-, or \(-D
+
+Let's try TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+
+\H'-5'test
+
+\C'test - test' \C'test-test'
+
+\Z@\v'-.25m'\l'\\n[ww]u'@\\$1
+
+test \[test-test]
+
+test \*(-a \*(a-
diff --git a/t/fmt/man/hyphens-verbatim.norm b/t/fmt/man/hyphens-verbatim.norm
new file mode 100644
index 0000000..0a149b7
--- /dev/null
+++ b/t/fmt/man/hyphens-verbatim.norm
@@ -0,0 +1,38 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH TEST\-PO4A\-HYPHENS 1
+
+.SH NAME
+
+test\-po4a\-hyphens \- This is just\-a\-test
+
+.SH "TITLE WITH\-HYPHEN"
+
+
+.\" Some exceptions:
+.ie c \[shc] \
+. ds soft-hyphen \[shc]
+.el \
+. ds soft-hyphen \(hy
+
+.\" Debian bug #470849
+continuation hyphen@255@\*[soft-hyphen]@\-
+
+test \s-1small text\s+1 \s-1small\-text\s+1 \s-1small\s+1
+
+test \(.-, \(<-, or \(-D
+
+Let's try TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+
+\H'-5'test
+
+\C'test - test' \C'test-test'
+
+\Z@\v'-.25m'\l'\en[ww]u'@\e$1
+
+test \[test-test]
+
+test \*(-a \*(a-
diff --git a/t/fmt/man/hyphens-verbatim.po b/t/fmt/man/hyphens-verbatim.po
new file mode 100644
index 0000000..0431a1c
--- /dev/null
+++ b/t/fmt/man/hyphens-verbatim.po
@@ -0,0 +1,86 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2008-03-14 21:23+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: hyphens-verbatim.man:1
+#, no-wrap
+msgid "TEST-PO4A-HYPHENS"
+msgstr "test-po4a-hyphens"
+
+#. type: SH
+#: hyphens-verbatim.man:3
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: hyphens-verbatim.man:6
+msgid "test-po4a-hyphens - This is just-a-test"
+msgstr "TEST-PO4A-HYPHENS - THIS IS JUST-A-TEST"
+
+#. type: SH
+#: hyphens-verbatim.man:7
+#, no-wrap
+msgid "TITLE WITH-HYPHEN"
+msgstr "title with-hyphen"
+
+#. Debian bug #470849
+#. type: Plain text
+#: hyphens-verbatim.man:18
+msgid "continuation hyphen@255@\\*[soft-hyphen]@-"
+msgstr "CONTINUATION HYPHEN@255@\\*[soft-hyphen]@-"
+
+#. type: Plain text
+#: hyphens-verbatim.man:20
+msgid "test \\s-1small text\\s+1 \\s-1small-text\\s+1 \\s-1small\\s+1"
+msgstr "TEST \\s-1small text\\s+1 \\s-1small-text\\s+1 \\s-1small\\s+1"
+
+#. type: Plain text
+#: hyphens-verbatim.man:22
+msgid "test \\(.-, \\(E<lt>-, or \\(-D"
+msgstr "TEST \\(.-, \\(E<lt>-, OR \\(-D"
+
+#. type: Plain text
+#: hyphens-verbatim.man:24
+msgid "Let's try TeX T\\h'-.1667m'\\v'.224m'E\\v'-.224m'\\h'-.125m'X"
+msgstr "LET'S TRY tEx T\\h'-.1667m'\\v'.224m'E\\v'-.224m'\\h'-.125m'X"
+
+#. type: Plain text
+#: hyphens-verbatim.man:26
+msgid "\\H'-5'test"
+msgstr "\\H'-5'TEST"
+
+#. type: Plain text
+#: hyphens-verbatim.man:28
+msgid "\\C'test - test' \\C'test-test'"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:30
+msgid "\\Z@\\v'-.25m'\\l'\\en[ww]u'@\\e$1"
+msgstr "\\Z@\\v'-.25m'\\l'\\en[ww]u'@\\e$1"
+
+#. type: Plain text
+#: hyphens-verbatim.man:32
+msgid "test \\[test-test]"
+msgstr "TEST \\[TEST-TEST]"
+
+#. type: Plain text
+#: hyphens-verbatim.man:33
+msgid "test \\*(-a \\*(a-"
+msgstr "TEST \\*(-a \\*(a-"
diff --git a/t/fmt/man/hyphens-verbatim.pot b/t/fmt/man/hyphens-verbatim.pot
new file mode 100644
index 0000000..63f8838
--- /dev/null
+++ b/t/fmt/man/hyphens-verbatim.pot
@@ -0,0 +1,86 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2008-03-14 21:23+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: hyphens-verbatim.man:1
+#, no-wrap
+msgid "TEST-PO4A-HYPHENS"
+msgstr ""
+
+#. type: SH
+#: hyphens-verbatim.man:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:6
+msgid "test-po4a-hyphens - This is just-a-test"
+msgstr ""
+
+#. type: SH
+#: hyphens-verbatim.man:7
+#, no-wrap
+msgid "TITLE WITH-HYPHEN"
+msgstr ""
+
+#. Debian bug #470849
+#. type: Plain text
+#: hyphens-verbatim.man:18
+msgid "continuation hyphen@255@\\*[soft-hyphen]@-"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:20
+msgid "test \\s-1small text\\s+1 \\s-1small-text\\s+1 \\s-1small\\s+1"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:22
+msgid "test \\(.-, \\(E<lt>-, or \\(-D"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:24
+msgid "Let's try TeX T\\h'-.1667m'\\v'.224m'E\\v'-.224m'\\h'-.125m'X"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:26
+msgid "\\H'-5'test"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:28
+msgid "\\C'test - test' \\C'test-test'"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:30
+msgid "\\Z@\\v'-.25m'\\l'\\en[ww]u'@\\e$1"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:32
+msgid "test \\[test-test]"
+msgstr ""
+
+#. type: Plain text
+#: hyphens-verbatim.man:33
+msgid "test \\*(-a \\*(a-"
+msgstr ""
diff --git a/t/fmt/man/hyphens-verbatim.trans b/t/fmt/man/hyphens-verbatim.trans
new file mode 100644
index 0000000..387ce2a
--- /dev/null
+++ b/t/fmt/man/hyphens-verbatim.trans
@@ -0,0 +1,38 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH test\-po4a\-hyphens 1
+
+.SH name
+
+TEST\-PO4A\-HYPHENS \- THIS IS JUST\-A\-TEST
+
+.SH "title with\-hyphen"
+
+
+.\" Some exceptions:
+.ie c \[shc] \
+. ds soft-hyphen \[shc]
+.el \
+. ds soft-hyphen \(hy
+
+.\" Debian bug #470849
+CONTINUATION HYPHEN@255@\*[soft-hyphen]@\-
+
+TEST \s-1small text\s+1 \s-1small\-text\s+1 \s-1small\s+1
+
+TEST \(.-, \(<-, OR \(-D
+
+LET'S TRY tEx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+
+\H'-5'TEST
+
+\C'test - test' \C'test-test'
+
+\Z@\v'-.25m'\l'\en[ww]u'@\e$1
+
+TEST \[TEST-TEST]
+
+TEST \*(-a \*(a-
diff --git a/t/fmt/man/macro-def.man b/t/fmt/man/macro-def.man
new file mode 100644
index 0000000..c4e1cd4
--- /dev/null
+++ b/t/fmt/man/macro-def.man
@@ -0,0 +1,12 @@
+.TH MACROS 1
+.SH NAME
+macros \- test po4a's support of user-defined groff macros
+
+.\" ========================================================================
+.de Blob \" extra explanation
+Macros' content
+..
+.\" ========================================================================
+
+
+Hello
diff --git a/t/fmt/man/macro-def.norm b/t/fmt/man/macro-def.norm
new file mode 100644
index 0000000..ec5748b
--- /dev/null
+++ b/t/fmt/man/macro-def.norm
@@ -0,0 +1,17 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MACROS 1
+.SH NAME
+macros \- test po4a's support of user\-defined groff macros
+
+.de Blob \" extra explanation
+Macros' content
+..
+
+
+.\" ========================================================================
+.\" ========================================================================
+Hello
diff --git a/t/fmt/man/macro-def.po b/t/fmt/man/macro-def.po
new file mode 100644
index 0000000..b55cd22
--- /dev/null
+++ b/t/fmt/man/macro-def.po
@@ -0,0 +1,23 @@
+#. type: TH
+#: macro-def.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr "macros"
+
+#. type: SH
+#: macro-def.man:2
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: macro-def.man:4
+msgid "macros - test po4a's support of user-defined groff macros"
+msgstr "MACROS - TEST PO4A'S SUPPORT OF USER-DEFINED GROFF MACROS"
+
+#. ========================================================================
+#. ========================================================================
+#. type: Plain text
+#: macro-def.man:12
+msgid "Hello"
+msgstr "hELLO"
diff --git a/t/fmt/man/macro-def.pot b/t/fmt/man/macro-def.pot
new file mode 100644
index 0000000..5cdc2a7
--- /dev/null
+++ b/t/fmt/man/macro-def.pot
@@ -0,0 +1,41 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-08-22 15:13+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: macro-def.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr ""
+
+#. type: SH
+#: macro-def.man:2
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: macro-def.man:4
+msgid "macros - test po4a's support of user-defined groff macros"
+msgstr ""
+
+#. ========================================================================
+#. ========================================================================
+#. type: Plain text
+#: macro-def.man:12
+msgid "Hello"
+msgstr ""
diff --git a/t/fmt/man/macro-def.stderr-missing-behavior b/t/fmt/man/macro-def.stderr-missing-behavior
new file mode 100644
index 0000000..7dc4471
--- /dev/null
+++ b/t/fmt/man/macro-def.stderr-missing-behavior
@@ -0,0 +1,4 @@
+po4a::man: This page defines a new macro 'Blob' with '.de' (inline comment: extra explanation), but you did not specify the expected po4a behavior when 'Blob' is used. You will get an error if this macro is actually used in your page.
+Add your macro to one of the 'untranslated', 'noarg', 'translate_joined', 'translate_each', 'no_wrap' or 'inline' parameters to avoid issues.
+For example, passing '-o untranslated=Blob' to po4a will ensure that the defined macro remains hidden from translators.
+Please refer to the manpage of Locale::Po4a::Man for more info on these parameters.
diff --git a/t/fmt/man/macro-def.trans b/t/fmt/man/macro-def.trans
new file mode 100644
index 0000000..125a072
--- /dev/null
+++ b/t/fmt/man/macro-def.trans
@@ -0,0 +1,17 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH macros 1
+.SH name
+MACROS \- TEST PO4A'S SUPPORT OF USER\-DEFINED GROFF MACROS
+
+.de Blob \" extra explanation
+Macros' content
+..
+
+
+.\" ========================================================================
+.\" ========================================================================
+hELLO
diff --git a/t/fmt/man/macro-defuse.man b/t/fmt/man/macro-defuse.man
new file mode 100644
index 0000000..1bd7b51
--- /dev/null
+++ b/t/fmt/man/macro-defuse.man
@@ -0,0 +1,13 @@
+.TH MACROS 1
+.SH NAME
+macros \- test po4a's support of user-defined groff macros
+
+.\" ========================================================================
+.de Blob \" extra explanation
+Macros' content
+..
+.\" ========================================================================
+
+
+Hello
+.Blob
diff --git a/t/fmt/man/macro-defuse.norm b/t/fmt/man/macro-defuse.norm
new file mode 100644
index 0000000..ab6a4d7
--- /dev/null
+++ b/t/fmt/man/macro-defuse.norm
@@ -0,0 +1,18 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MACROS 1
+.SH NAME
+macros \- test po4a's support of user\-defined groff macros
+
+.de Blob \" extra explanation
+Macros' content
+..
+
+
+.\" ========================================================================
+.\" ========================================================================
+Hello
+.Blob
diff --git a/t/fmt/man/macro-defuse.po b/t/fmt/man/macro-defuse.po
new file mode 100644
index 0000000..72d69e8
--- /dev/null
+++ b/t/fmt/man/macro-defuse.po
@@ -0,0 +1,23 @@
+#. type: TH
+#: macro-defuse.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr "macros"
+
+#. type: SH
+#: macro-defuse.man:2
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: macro-defuse.man:4
+msgid "macros - test po4a's support of user-defined groff macros"
+msgstr "MACROS - TEST PO4A'S SUPPORT OF USER-DEFINED GROFF MACROS"
+
+#. ========================================================================
+#. ========================================================================
+#. type: Plain text
+#: macro-defuse.man:13
+msgid "Hello E<.Blob>"
+msgstr "hELLO E<.Blob>"
diff --git a/t/fmt/man/macro-defuse.po-noarg b/t/fmt/man/macro-defuse.po-noarg
new file mode 100644
index 0000000..3242733
--- /dev/null
+++ b/t/fmt/man/macro-defuse.po-noarg
@@ -0,0 +1,23 @@
+#. type: TH
+#: macro-defuse.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr "macros"
+
+#. type: SH
+#: macro-defuse.man:2
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: macro-defuse.man:4
+msgid "macros - test po4a's support of user-defined groff macros"
+msgstr "MACROS - TEST PO4A'S SUPPORT OF USER-DEFINED GROFF MACROS"
+
+#. ========================================================================
+#. ========================================================================
+#. type: Plain text
+#: macro-defuse.man:13
+msgid "Hello"
+msgstr "hELLO"
diff --git a/t/fmt/man/macro-defuse.pot b/t/fmt/man/macro-defuse.pot
new file mode 100644
index 0000000..90e51da
--- /dev/null
+++ b/t/fmt/man/macro-defuse.pot
@@ -0,0 +1,41 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-08-22 15:13+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: macro-defuse.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr ""
+
+#. type: SH
+#: macro-defuse.man:2
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: macro-defuse.man:4
+msgid "macros - test po4a's support of user-defined groff macros"
+msgstr ""
+
+#. ========================================================================
+#. ========================================================================
+#. type: Plain text
+#: macro-defuse.man:13
+msgid "Hello E<.Blob>"
+msgstr ""
diff --git a/t/fmt/man/macro-defuse.pot-noarg b/t/fmt/man/macro-defuse.pot-noarg
new file mode 100644
index 0000000..6a328c3
--- /dev/null
+++ b/t/fmt/man/macro-defuse.pot-noarg
@@ -0,0 +1,41 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2022-08-22 15:13+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: macro-defuse.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr ""
+
+#. type: SH
+#: macro-defuse.man:2
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: macro-defuse.man:4
+msgid "macros - test po4a's support of user-defined groff macros"
+msgstr ""
+
+#. ========================================================================
+#. ========================================================================
+#. type: Plain text
+#: macro-defuse.man:13
+msgid "Hello"
+msgstr ""
diff --git a/t/fmt/man/macro-defuse.stderr-missing-behavior b/t/fmt/man/macro-defuse.stderr-missing-behavior
new file mode 100644
index 0000000..7095bff
--- /dev/null
+++ b/t/fmt/man/macro-defuse.stderr-missing-behavior
@@ -0,0 +1,7 @@
+po4a::man: This page defines a new macro 'Blob' with '.de' (inline comment: extra explanation), but you did not specify the expected po4a behavior when 'Blob' is used. You will get an error if this macro is actually used in your page.
+Add your macro to one of the 'untranslated', 'noarg', 'translate_joined', 'translate_each', 'no_wrap' or 'inline' parameters to avoid issues.
+For example, passing '-o untranslated=Blob' to po4a will ensure that the defined macro remains hidden from translators.
+Please refer to the manpage of Locale::Po4a::Man for more info on these parameters.
+
+macro-defuse.man:13: (po4a::man)
+Unknown macro '.Blob'. Remove it from the document, or refer to the Locale::Po4a::Man manpage to see how po4a can handle new macros.
diff --git a/t/fmt/man/macro-defuse.trans b/t/fmt/man/macro-defuse.trans
new file mode 100644
index 0000000..58f0e1f
--- /dev/null
+++ b/t/fmt/man/macro-defuse.trans
@@ -0,0 +1,18 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH macros 1
+.SH name
+MACROS \- TEST PO4A'S SUPPORT OF USER\-DEFINED GROFF MACROS
+
+.de Blob \" extra explanation
+Macros' content
+..
+
+
+.\" ========================================================================
+.\" ========================================================================
+hELLO
+.Blob
diff --git a/t/fmt/man/macros.man b/t/fmt/man/macros.man
new file mode 100644
index 0000000..035363c
--- /dev/null
+++ b/t/fmt/man/macros.man
@@ -0,0 +1,56 @@
+.TH MACROS 1
+.SH NAME
+macros \- test po4a's support of some groff macros
+.SH SYNOPSIS
+.B macros
+[\fB\-t\fR \fIMACRO\fR]
+[\fB\-\-test\fR \fIMACRO\fR]
+.IR macro ...
+.SH DESCRIPTION
+.B macros
+is an example manpage for macro tests.
+.SH OPTIONS
+.TP
+.BR \-t ", " \-\-test =\fIMACRO\fR
+Set the macro to test.
+.P
+.\" Check .UR and .UE macros for URLS.
+This is a link with a trailing comma to
+.UR https://www.example.org/test
+an example site
+.UE ,
+used for testing po4a.
+.P
+.UR https://www.example.org/test2
+This link
+.UE
+does not contain punctuation after the UE macro.
+.P
+.\" Check .MT and .ME macros for mail addresses.
+This is a mail address with a trailing comma for
+.MT foo@example.org
+Mr. Foo
+.ME ,
+used for testing po4a.
+.P
+.MT foo@example.org
+Mr. Foo
+.ME
+does not contain punctuation after the ME macro.
+.SH SYNOPSIS II
+.\" Check synopsis macros.
+.SY command
+.OP \-a arg1
+.OP \-b arg2
+.RI [ file
+.IR .\|.\|. ]
+.SH SYNOPSIS III
+.\" Check synopsis macros with terminating YS.
+.SY command
+.OP \-a arg1
+.YS
+.P
+More text.
+
+.B Note that long long long long long long long long long long long long long long long long long long BOLD text should not be wrapped.
+.I ITALIC long long long long long long long long long long long long long long long long long long text should not be wrapped either.
diff --git a/t/fmt/man/macros.norm b/t/fmt/man/macros.norm
new file mode 100644
index 0000000..1e4a126
--- /dev/null
+++ b/t/fmt/man/macros.norm
@@ -0,0 +1,57 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MACROS 1
+.SH NAME
+macros \- test po4a's support of some groff macros
+.SH SYNOPSIS
+\fBmacros\fP [\fB\-t\fP \fIMACRO\fP] [\fB\-\-test\fP \fIMACRO\fP] \fImacro\fP...
+.SH DESCRIPTION
+\fBmacros\fP is an example manpage for macro tests.
+.SH OPTIONS
+.TP
+\fB\-t\fP, \fB\-\-test\fP=\fIMACRO\fP
+Set the macro to test.
+.P
+.\" Check .UR and .UE macros for URLS.
+This is a link with a trailing comma to
+.UR https://www.example.org/test
+an example site
+.UE ,
+used for testing po4a.
+.P
+.UR https://www.example.org/test2
+This link
+.UE
+does not contain
+punctuation after the UE macro.
+.P
+.\" Check .MT and .ME macros for mail addresses.
+This is a mail address with a trailing comma for
+.MT foo@example.org
+Mr. Foo
+.ME ,
+used for testing po4a.
+.P
+.MT foo@example.org
+Mr. Foo
+.ME
+does not contain punctuation after the
+ME macro.
+.SH "SYNOPSIS II"
+.\" Check synopsis macros.
+.SY command
+.OP \-a arg1
+.OP \-b arg2
+[\fIfile\fP \fI.\|.\|.\fP]
+.SH "SYNOPSIS III"
+.\" Check synopsis macros with terminating YS.
+.SY command
+.OP \-a arg1
+.YS
+.P
+More text.
+
+\fBNote that long long long long long long long long long long long long long long long long long long BOLD text should not be wrapped.\fP \fIITALIC long long long long long long long long long long long long long long long long long long text should not be wrapped either.\fP
diff --git a/t/fmt/man/macros.po b/t/fmt/man/macros.po
new file mode 100644
index 0000000..95e7ced
--- /dev/null
+++ b/t/fmt/man/macros.po
@@ -0,0 +1,177 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2018-06-08 15:49+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: macros.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr "macros"
+
+#. type: SH
+#: macros.man:2
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: macros.man:4
+msgid "macros - test po4a's support of some groff macros"
+msgstr "MACROS - TEST PO4A'S SUPPORT OF SOME GROFF MACROS"
+
+#. type: SH
+#: macros.man:4
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "synopsis"
+
+#. type: Plain text
+#: macros.man:9
+msgid "B<macros> [B<-t> I<MACRO>] [B<--test> I<MACRO>] I<macro>..."
+msgstr "B<MACROS> [B<-T> I<macro>] [B<--TEST> I<macro>] I<MACRO>..."
+
+#. type: SH
+#: macros.man:9
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "description"
+
+#. type: Plain text
+#: macros.man:12
+msgid "B<macros> is an example manpage for macro tests."
+msgstr "B<MACROS> IS AN EXAMPLE MANPAGE FOR MACRO TESTS."
+
+#. type: SH
+#: macros.man:12
+#, no-wrap
+msgid "OPTIONS"
+msgstr "options"
+
+#. type: TP
+#: macros.man:13
+#, no-wrap
+msgid "B<-t>, B<--test>=I<MACRO>"
+msgstr "B<-T>, B<--TEST>=I<macro>"
+
+#. type: Plain text
+#: macros.man:16
+msgid "Set the macro to test."
+msgstr "SET THE MACRO TO TEST."
+
+#. Check .UR and .UE macros for URLS.
+#. type: Plain text
+#: macros.man:23
+msgid ""
+"This is a link with a trailing comma to E<.UR https://www.example.org/test> "
+"an example site E<.UE ,> used for testing po4a."
+msgstr ""
+"THIS IS A LINK WITH A TRAILING COMMA TO E<.UR https://www.example.org/TEST> "
+"AN EXAMPLE SITE E<.UE ,> USED FOR TESTING PO4A."
+
+#. type: Plain text
+#: macros.man:28
+msgid ""
+"E<.UR https://www.example.org/test2> This link E<.UE> does not contain "
+"punctuation after the UE macro."
+msgstr ""
+"E<.UR https://www.example.org/TEST2> THIS LINK E<.UE> DOES NOT CONTAIN "
+"PUNCTUATION AFTER THE ue MACRO."
+
+#. Check .MT and .ME macros for mail addresses.
+#. type: Plain text
+#: macros.man:35
+msgid ""
+"This is a mail address with a trailing comma for E<.MT foo@example.org> Mr. "
+"Foo E<.ME ,> used for testing po4a."
+msgstr ""
+"THIS IS A MAIL ADDRESS WITH A TRAILING COMMA FOR E<.MT foo@example.org> MR. "
+"FOO E<.ME ,> USED FOR TESTING PO4A."
+
+#. type: Plain text
+#: macros.man:40
+msgid ""
+"E<.MT foo@example.org> Mr. Foo E<.ME> does not contain punctuation after the "
+"ME macro."
+msgstr ""
+"E<.MT foo@example.org> MR. FOO E<.ME> DOES NOT CONTAIN PUNCTUATION AFTER THE "
+"me MACRO."
+
+#. type: SH
+#: macros.man:40
+#, no-wrap
+msgid "SYNOPSIS II"
+msgstr "synopsis ii"
+
+#. Check synopsis macros with terminating YS.
+#. type: SY
+#: macros.man:42 macros.man:49
+#, no-wrap
+msgid "command"
+msgstr "COMMAND"
+
+#. type: OP
+#: macros.man:43 macros.man:50
+#, no-wrap
+msgid "-a"
+msgstr "-A"
+
+#. type: OP
+#: macros.man:43 macros.man:50
+#, no-wrap
+msgid "arg1"
+msgstr "ARG1"
+
+#. type: OP
+#: macros.man:44
+#, no-wrap
+msgid "-b"
+msgstr "-B"
+
+#. type: OP
+#: macros.man:44
+#, no-wrap
+msgid "arg2"
+msgstr "ARG2"
+
+#. type: Plain text
+#: macros.man:47
+msgid "[I<file> I<.\\|.\\|.>]"
+msgstr ""
+
+#. type: SH
+#: macros.man:47
+#, no-wrap
+msgid "SYNOPSIS III"
+msgstr "synopsis iii"
+
+#. type: Plain text
+#: macros.man:54
+msgid "More text."
+msgstr "MORE TEXT."
+
+#. type: Plain text
+#: macros.man:56
+msgid ""
+"B<Note that long long long long long long long long long long long long long "
+"long long long long long BOLD text should not be wrapped.> I<ITALIC long "
+"long long long long long long long long long long long long long long long "
+"long long text should not be wrapped either.>"
+msgstr ""
+"B<nOTE THAT LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG "
+"LONG LONG LONG LONG LONG bold TEXT SHOULD NOT BE WRAPPED.> I<italic LONG "
+"LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG "
+"LONG LONG TEXT SHOULD NOT BE WRAPPED EITHER.>"
diff --git a/t/fmt/man/macros.pot b/t/fmt/man/macros.pot
new file mode 100644
index 0000000..15f544a
--- /dev/null
+++ b/t/fmt/man/macros.pot
@@ -0,0 +1,165 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2018-06-08 15:49+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: macros.man:1
+#, no-wrap
+msgid "MACROS"
+msgstr ""
+
+#. type: SH
+#: macros.man:2
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: macros.man:4
+msgid "macros - test po4a's support of some groff macros"
+msgstr ""
+
+#. type: SH
+#: macros.man:4
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: macros.man:9
+msgid "B<macros> [B<-t> I<MACRO>] [B<--test> I<MACRO>] I<macro>..."
+msgstr ""
+
+#. type: SH
+#: macros.man:9
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: Plain text
+#: macros.man:12
+msgid "B<macros> is an example manpage for macro tests."
+msgstr ""
+
+#. type: SH
+#: macros.man:12
+#, no-wrap
+msgid "OPTIONS"
+msgstr ""
+
+#. type: TP
+#: macros.man:13
+#, no-wrap
+msgid "B<-t>, B<--test>=I<MACRO>"
+msgstr ""
+
+#. type: Plain text
+#: macros.man:16
+msgid "Set the macro to test."
+msgstr ""
+
+#. Check .UR and .UE macros for URLS.
+#. type: Plain text
+#: macros.man:23
+msgid ""
+"This is a link with a trailing comma to E<.UR https://www.example.org/test> "
+"an example site E<.UE ,> used for testing po4a."
+msgstr ""
+
+#. type: Plain text
+#: macros.man:28
+msgid ""
+"E<.UR https://www.example.org/test2> This link E<.UE> does not contain "
+"punctuation after the UE macro."
+msgstr ""
+
+#. Check .MT and .ME macros for mail addresses.
+#. type: Plain text
+#: macros.man:35
+msgid ""
+"This is a mail address with a trailing comma for E<.MT foo@example.org> "
+"Mr. Foo E<.ME ,> used for testing po4a."
+msgstr ""
+
+#. type: Plain text
+#: macros.man:40
+msgid ""
+"E<.MT foo@example.org> Mr. Foo E<.ME> does not contain punctuation after the "
+"ME macro."
+msgstr ""
+
+#. type: SH
+#: macros.man:40
+#, no-wrap
+msgid "SYNOPSIS II"
+msgstr ""
+
+#. Check synopsis macros with terminating YS.
+#. type: SY
+#: macros.man:42 macros.man:49
+#, no-wrap
+msgid "command"
+msgstr ""
+
+#. type: OP
+#: macros.man:43 macros.man:50
+#, no-wrap
+msgid "-a"
+msgstr ""
+
+#. type: OP
+#: macros.man:43 macros.man:50
+#, no-wrap
+msgid "arg1"
+msgstr ""
+
+#. type: OP
+#: macros.man:44
+#, no-wrap
+msgid "-b"
+msgstr ""
+
+#. type: OP
+#: macros.man:44
+#, no-wrap
+msgid "arg2"
+msgstr ""
+
+#. type: Plain text
+#: macros.man:47
+msgid "[I<file> I<.\\|.\\|.>]"
+msgstr ""
+
+#. type: SH
+#: macros.man:47
+#, no-wrap
+msgid "SYNOPSIS III"
+msgstr ""
+
+#. type: Plain text
+#: macros.man:54
+msgid "More text."
+msgstr ""
+
+#. type: Plain text
+#: macros.man:56
+msgid ""
+"B<Note that long long long long long long long long long long long long long "
+"long long long long long BOLD text should not be wrapped.> I<ITALIC long "
+"long long long long long long long long long long long long long long long "
+"long long text should not be wrapped either.>"
+msgstr ""
diff --git a/t/fmt/man/macros.trans b/t/fmt/man/macros.trans
new file mode 100644
index 0000000..99e492e
--- /dev/null
+++ b/t/fmt/man/macros.trans
@@ -0,0 +1,57 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH macros 1
+.SH name
+MACROS \- TEST PO4A'S SUPPORT OF SOME GROFF MACROS
+.SH synopsis
+\fBMACROS\fP [\fB\-T\fP \fImacro\fP] [\fB\-\-TEST\fP \fImacro\fP] \fIMACRO\fP...
+.SH description
+\fBMACROS\fP IS AN EXAMPLE MANPAGE FOR MACRO TESTS.
+.SH options
+.TP
+\fB\-T\fP, \fB\-\-TEST\fP=\fImacro\fP
+SET THE MACRO TO TEST.
+.P
+.\" Check .UR and .UE macros for URLS.
+THIS IS A LINK WITH A TRAILING COMMA TO
+.UR https://www.example.org/TEST
+AN EXAMPLE SITE
+.UE ,
+USED FOR TESTING PO4A.
+.P
+.UR https://www.example.org/TEST2
+THIS LINK
+.UE
+DOES NOT CONTAIN
+PUNCTUATION AFTER THE ue MACRO.
+.P
+.\" Check .MT and .ME macros for mail addresses.
+THIS IS A MAIL ADDRESS WITH A TRAILING COMMA FOR
+.MT foo@example.org
+MR. FOO
+.ME ,
+USED FOR TESTING PO4A.
+.P
+.MT foo@example.org
+MR. FOO
+.ME
+DOES NOT CONTAIN PUNCTUATION AFTER THE
+me MACRO.
+.SH "synopsis ii"
+.\" Check synopsis macros.
+.SY COMMAND
+.OP \-A ARG1
+.OP \-B ARG2
+[\fIfile\fP \fI.\|.\|.\fP]
+.SH "synopsis iii"
+.\" Check synopsis macros with terminating YS.
+.SY COMMAND
+.OP \-A ARG1
+.YS
+.P
+MORE TEXT.
+
+\fBnOTE THAT LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG bold TEXT SHOULD NOT BE WRAPPED.\fP \fIitalic LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG LONG TEXT SHOULD NOT BE WRAPPED EITHER.\fP
diff --git a/t/fmt/man/mdoc.man b/t/fmt/man/mdoc.man
new file mode 100644
index 0000000..592322c
--- /dev/null
+++ b/t/fmt/man/mdoc.man
@@ -0,0 +1,44 @@
+.Dd Jun 03, 2006
+.Os Debian
+.Dt MDOC 1
+.Sh NAME
+.Nm mdoc
+.Nd test man page in mdoc
+.Sh synopsis
+.Nm
+.Bk
+.Op Ar option ...
+.Ek
+.Sh description
+This manual page documents
+.Nm ,
+a fake program.
+.Ss Sub-section
+.Nm
+and also another inline
+.Xr command 1 Ns 's
+argument.
+.
+Lets try some punctuation
+.Pa /etc/texmf/updmap.d/ .
+.Pp
+test2
+.Pa ~/.texmf-config/updmap.d ),
+and
+.Pa ~/.texmf-var/web2c/updmap.cfg ) ;
+and
+.Pa ~/.texmf-var/web2c/updmap.cfg ) .
+.Sh authors
+This manual page was written by
+.An -nosplit
+.An me
+and
+.An "m y" Aq self
+
+And lets play with fonts
+.br
+.Fd #include <netdb.h> \ \ \fP/* Or <unistd.h> on some systems */
+.Ft int
+.Fn rcmd "char **ahost" "int inport"
+.br
+?
diff --git a/t/fmt/man/mdoc.norm b/t/fmt/man/mdoc.norm
new file mode 100644
index 0000000..d35c4cb
--- /dev/null
+++ b/t/fmt/man/mdoc.norm
@@ -0,0 +1,49 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.Dd Jun 03, 2006
+.Os Debian
+.Dt MDOC 1
+.Sh NAME
+.Nm mdoc
+.Nd test man page in mdoc
+.Sh synopsis
+.Nm
+.Bk
+.Op Ar option ...
+.Ek
+.Sh description
+This manual page documents
+.Nm ,
+a fake program.
+.Ss Sub-section
+.Nm
+and also another inline
+.Xr command 1 Ns 's
+argument.
+.
+Lets try some punctuation
+.Pa /etc/texmf/updmap.d/ .
+.Pp
+test2
+.Pa ~/.texmf-config/updmap.d ),
+and
+.Pa ~/.texmf-var/web2c/updmap.cfg ) ;
+and
+.Pa ~/.texmf-var/web2c/updmap.cfg ) .
+.Sh authors
+This manual page was written by
+.An -nosplit
+.An me
+and
+.An "m y" Aq self
+
+And lets play with fonts
+.br
+.Fd #include <netdb.h> \ \ \fP/* Or <unistd.h> on some systems */
+.Ft int
+.Fn rcmd "char **ahost" "int inport"
+.br
+?
diff --git a/t/fmt/man/mdoc.po b/t/fmt/man/mdoc.po
new file mode 100644
index 0000000..c3a67d9
--- /dev/null
+++ b/t/fmt/man/mdoc.po
@@ -0,0 +1,133 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-08-13 19:03+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Dd
+#: mdoc.man:1
+#, no-wrap
+msgid "Jun 03, 2006"
+msgstr "JUN 03, 2006"
+
+#. type: Os
+#: mdoc.man:2
+#, no-wrap
+msgid "Debian"
+msgstr "DEBIAN"
+
+#. type: Dt
+#: mdoc.man:3
+#, no-wrap
+msgid "MDOC 1"
+msgstr ""
+
+#. type: Sh
+#: mdoc.man:4
+#, no-wrap
+msgid "NAME"
+msgstr "NAME"
+
+#. type: Plain text
+#: mdoc.man:6
+msgid "E<.Nm mdoc>"
+msgstr "E<.Nm mdoc>"
+
+#. type: Nd
+#: mdoc.man:6
+#, no-wrap
+msgid "test man page in mdoc"
+msgstr "TEST MAN PAGE IN MDOC"
+
+#. type: Sh
+#: mdoc.man:7
+#, no-wrap
+msgid "synopsis"
+msgstr "SYNOPSIS"
+
+#. type: Plain text
+#: mdoc.man:12
+msgid "E<.Nm> E<.Bk> E<.Op Ar option ...> E<.Ek>"
+msgstr "E<.Nm> E<.Bk> E<.Op Ar option ...> E<.Ek>"
+
+#. type: Sh
+#: mdoc.man:12
+#, no-wrap
+msgid "description"
+msgstr "DESCRIPTION"
+
+#. type: Plain text
+#: mdoc.man:16
+msgid "This manual page documents E<.Nm>, a fake program."
+msgstr "THIS MANUAL PAGE DOCUMENTS E<.Nm>, A FAKE PROGRAM."
+
+#. type: Ss
+#: mdoc.man:16
+#, no-wrap
+msgid "Sub-section"
+msgstr "SUB-SECTION"
+
+#. type: Plain text
+#: mdoc.man:21
+msgid "E<.Nm> and also another inline E<.Xr command 1 Ns 's> argument."
+msgstr "E<.Nm> AND ALSO ANOTHER INLINE E<.Xr COMMAND 1 Ns 'S> ARGUMENT."
+
+#. type: Plain text
+#: mdoc.man:24
+msgid "Lets try some punctuation E<.Pa /etc/texmf/updmap.d/>."
+msgstr "LETS TRY SOME PUNCTUATION E<.Pa /etc/texmf/updmap.d/>."
+
+#. type: Plain text
+#: mdoc.man:31
+msgid ""
+"test2 E<.Pa ~/.texmf-config/updmap.d ),> and E<.Pa "
+"~/.texmf-var/web2c/updmap.cfg>); and E<.Pa ~/.texmf-var/web2c/updmap.cfg>)."
+msgstr ""
+"TEST2 E<.Pa ~/.texmf-config/updmap.d ),> AND E<.Pa "
+"~/.texmf-var/web2c/updmap.cfg>); AND E<.Pa ~/.texmf-var/web2c/updmap.cfg>)."
+
+#. type: Sh
+#: mdoc.man:31
+#, no-wrap
+msgid "authors"
+msgstr "AUTHORS"
+
+#. type: Plain text
+#: mdoc.man:37
+msgid ""
+"This manual page was written by E<.An -nosplit> E<.An me> and E<.An \"m y\" "
+"Aq self>"
+msgstr ""
+"THIS MANUAL PAGE WAS WRITTEN BY E<.An -nosplit> E<.An ME> AND E<.An \"M Y\" "
+"Aq SELF>"
+
+#. type: Plain text
+#: mdoc.man:39
+msgid "And lets play with fonts"
+msgstr "AND LETS PLAY WITH FONTS"
+
+#. type: Plain text
+#: mdoc.man:43
+msgid ""
+"E<.Fd #include E<lt>netdb.hE<gt> \\ \\ \\fP/* Or E<lt>unistd.hE<gt> on some "
+"systems */> E<.Ft int> E<.Fn rcmd \"char **ahost\" \"int inport\">"
+msgstr ""
+"E<.Fd #include E<lt>netdb.hE<gt> \\ \\ \\fP/* Or E<lt>unistd.hE<gt> on some "
+"systems */> E<.Ft int> E<.Fn rcmd \"char **ahost\" \"int inport\">"
+
+#. type: Plain text
+#: mdoc.man:44
+msgid "?"
+msgstr "?"
diff --git a/t/fmt/man/mdoc.pot b/t/fmt/man/mdoc.pot
new file mode 100644
index 0000000..68503b2
--- /dev/null
+++ b/t/fmt/man/mdoc.pot
@@ -0,0 +1,127 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 02:20+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Dd
+#: mdoc.man:1
+#, no-wrap
+msgid "Jun 03, 2006"
+msgstr ""
+
+#. type: Os
+#: mdoc.man:2
+#, no-wrap
+msgid "Debian"
+msgstr ""
+
+#. type: Dt
+#: mdoc.man:3
+#, no-wrap
+msgid "MDOC 1"
+msgstr ""
+
+#. type: Sh
+#: mdoc.man:4
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:6
+msgid "E<.Nm mdoc>"
+msgstr ""
+
+#. type: Nd
+#: mdoc.man:6
+#, no-wrap
+msgid "test man page in mdoc"
+msgstr ""
+
+#. type: Sh
+#: mdoc.man:7
+#, no-wrap
+msgid "synopsis"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:12
+msgid "E<.Nm> E<.Bk> E<.Op Ar option ...> E<.Ek>"
+msgstr ""
+
+#. type: Sh
+#: mdoc.man:12
+#, no-wrap
+msgid "description"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:16
+msgid "This manual page documents E<.Nm>, a fake program."
+msgstr ""
+
+#. type: Ss
+#: mdoc.man:16
+#, no-wrap
+msgid "Sub-section"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:21
+msgid "E<.Nm> and also another inline E<.Xr command 1 Ns 's> argument."
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:24
+msgid "Lets try some punctuation E<.Pa /etc/texmf/updmap.d/>."
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:31
+msgid ""
+"test2 E<.Pa ~/.texmf-config/updmap.d ),> and E<.Pa "
+"~/.texmf-var/web2c/updmap.cfg>); and E<.Pa ~/.texmf-var/web2c/updmap.cfg>)."
+msgstr ""
+
+#. type: Sh
+#: mdoc.man:31
+#, no-wrap
+msgid "authors"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:37
+msgid ""
+"This manual page was written by E<.An -nosplit> E<.An me> and E<.An \"m y\" "
+"Aq self>"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:39
+msgid "And lets play with fonts"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:43
+msgid ""
+"E<.Fd #include E<lt>netdb.hE<gt> \\ \\ \\fP/* Or E<lt>unistd.hE<gt> on some "
+"systems */> E<.Ft int> E<.Fn rcmd \"char **ahost\" \"int inport\">"
+msgstr ""
+
+#. type: Plain text
+#: mdoc.man:44
+msgid "?"
+msgstr ""
diff --git a/t/fmt/man/mdoc.trans b/t/fmt/man/mdoc.trans
new file mode 100644
index 0000000..6d37c54
--- /dev/null
+++ b/t/fmt/man/mdoc.trans
@@ -0,0 +1,49 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.Dd JUN 03, 2006
+.Os DEBIAN
+.Dt MDOC 1
+.Sh NAME
+.Nm mdoc
+.Nd TEST MAN PAGE IN MDOC
+.Sh SYNOPSIS
+.Nm
+.Bk
+.Op Ar option ...
+.Ek
+.Sh DESCRIPTION
+THIS MANUAL PAGE DOCUMENTS
+.Nm ,
+A FAKE PROGRAM.
+.Ss SUB-SECTION
+.Nm
+AND ALSO ANOTHER INLINE
+.Xr COMMAND 1 Ns 'S
+ARGUMENT.
+.
+LETS TRY SOME PUNCTUATION
+.Pa /etc/texmf/updmap.d/ .
+.Pp
+TEST2
+.Pa ~/.texmf-config/updmap.d ),
+AND
+.Pa ~/.texmf-var/web2c/updmap.cfg ) ;
+AND
+.Pa ~/.texmf-var/web2c/updmap.cfg ) .
+.Sh AUTHORS
+THIS MANUAL PAGE WAS WRITTEN BY
+.An -nosplit
+.An ME
+AND
+.An "M Y" Aq SELF
+
+AND LETS PLAY WITH FONTS
+.br
+.Fd #include <netdb.h> \ \ \fP/* Or <unistd.h> on some systems */
+.Ft int
+.Fn rcmd "char **ahost" "int inport"
+.br
+?
diff --git a/t/fmt/man/null.man b/t/fmt/man/null.man
new file mode 100644
index 0000000..495f0e7
--- /dev/null
+++ b/t/fmt/man/null.man
@@ -0,0 +1,22 @@
+.TH null 1
+.\" This unit test may trigger errors when string is tested instead of
+.\" testing if it is defined, with a non-null length
+.SH 0
+
+0
+
+.IP 0
+null argument
+
+.nf
+foo1
+.fi
+\fP
+foo2
+
+.I foo
+.nf
+foo1
+.fi
+\fP
+foo2
diff --git a/t/fmt/man/null.norm b/t/fmt/man/null.norm
new file mode 100644
index 0000000..4010eb7
--- /dev/null
+++ b/t/fmt/man/null.norm
@@ -0,0 +1,26 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH null 1
+.\" This unit test may trigger errors when string is tested instead of
+.\" testing if it is defined, with a non-null length
+.SH 0
+
+0
+
+.IP 0
+null argument
+
+.nf
+foo1
+.fi
+
+foo2
+
+\fIfoo\fP
+.nf
+foo1
+.fi
+\fI foo2\fP
diff --git a/t/fmt/man/null.po b/t/fmt/man/null.po
new file mode 100644
index 0000000..4ed9e22
--- /dev/null
+++ b/t/fmt/man/null.po
@@ -0,0 +1,55 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2004-11-28 21:00+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: null.man:1
+#, no-wrap
+msgid "null"
+msgstr "NULL"
+
+#. type: IP
+#: null.man:4 null.man:7 null.man:8
+#, no-wrap
+msgid "0"
+msgstr "0"
+
+#. type: Plain text
+#: null.man:10
+msgid "null argument"
+msgstr "NULL ARGUMENT"
+
+#. type: Plain text
+#: null.man:13 null.man:20
+#, no-wrap
+msgid "foo1\n"
+msgstr "FOO1\n"
+
+#. type: Plain text
+#: null.man:16
+msgid "foo2"
+msgstr "FOO2"
+
+#. type: Plain text
+#: null.man:18
+msgid "I<foo>"
+msgstr "I<FOO>"
+
+#. type: Plain text
+#: null.man:22
+msgid "I< foo2>"
+msgstr "I< FOO2>"
diff --git a/t/fmt/man/null.pot b/t/fmt/man/null.pot
new file mode 100644
index 0000000..2b4b9e6
--- /dev/null
+++ b/t/fmt/man/null.pot
@@ -0,0 +1,55 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2004-11-28 21:00+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: null.man:1
+#, no-wrap
+msgid "null"
+msgstr ""
+
+#. type: IP
+#: null.man:4 null.man:7 null.man:8
+#, no-wrap
+msgid "0"
+msgstr ""
+
+#. type: Plain text
+#: null.man:10
+msgid "null argument"
+msgstr ""
+
+#. type: Plain text
+#: null.man:13 null.man:20
+#, no-wrap
+msgid "foo1\n"
+msgstr ""
+
+#. type: Plain text
+#: null.man:16
+msgid "foo2"
+msgstr ""
+
+#. type: Plain text
+#: null.man:18
+msgid "I<foo>"
+msgstr ""
+
+#. type: Plain text
+#: null.man:22
+msgid "I< foo2>"
+msgstr ""
diff --git a/t/fmt/man/null.trans b/t/fmt/man/null.trans
new file mode 100644
index 0000000..9f73b54
--- /dev/null
+++ b/t/fmt/man/null.trans
@@ -0,0 +1,26 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH NULL 1
+.\" This unit test may trigger errors when string is tested instead of
+.\" testing if it is defined, with a non-null length
+.SH 0
+
+0
+
+.IP 0
+NULL ARGUMENT
+
+.nf
+FOO1
+.fi
+
+FOO2
+
+\fIFOO\fP
+.nf
+FOO1
+.fi
+\fI FOO2\fP
diff --git a/t/fmt/man/quoted-comment.man b/t/fmt/man/quoted-comment.man
new file mode 100644
index 0000000..64d3cf4
--- /dev/null
+++ b/t/fmt/man/quoted-comment.man
@@ -0,0 +1,6 @@
+'\" t
+.\" This test aims at ensuring that the line before this one still
+.\" starts with a single quote and not a dot.
+.\" That's important to groff especially for the --warnings used by
+.\" lintian. See also:
+.\" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744366
diff --git a/t/fmt/man/quoted-comment.norm b/t/fmt/man/quoted-comment.norm
new file mode 100644
index 0000000..64d3cf4
--- /dev/null
+++ b/t/fmt/man/quoted-comment.norm
@@ -0,0 +1,6 @@
+'\" t
+.\" This test aims at ensuring that the line before this one still
+.\" starts with a single quote and not a dot.
+.\" That's important to groff especially for the --warnings used by
+.\" lintian. See also:
+.\" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744366
diff --git a/t/fmt/man/quoted-comment.po b/t/fmt/man/quoted-comment.po
new file mode 100644
index 0000000..8a70e25
--- /dev/null
+++ b/t/fmt/man/quoted-comment.po
@@ -0,0 +1,18 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2017-03-30 22:02+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
diff --git a/t/fmt/man/quoted-comment.pot b/t/fmt/man/quoted-comment.pot
new file mode 100644
index 0000000..8a70e25
--- /dev/null
+++ b/t/fmt/man/quoted-comment.pot
@@ -0,0 +1,18 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2017-03-30 22:02+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
diff --git a/t/fmt/man/quoted-comment.trans b/t/fmt/man/quoted-comment.trans
new file mode 100644
index 0000000..64d3cf4
--- /dev/null
+++ b/t/fmt/man/quoted-comment.trans
@@ -0,0 +1,6 @@
+'\" t
+.\" This test aims at ensuring that the line before this one still
+.\" starts with a single quote and not a dot.
+.\" That's important to groff especially for the --warnings used by
+.\" lintian. See also:
+.\" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744366
diff --git a/t/fmt/man/quotes.man b/t/fmt/man/quotes.man
new file mode 100644
index 0000000..103223f
--- /dev/null
+++ b/t/fmt/man/quotes.man
@@ -0,0 +1,35 @@
+.TH test 1 test test
+.SH Section1
+
+.\" double quotes in a quoted arguments
+.B """"""
+
+.\" Other similar ugly quotes
+.BR """c""" " and " """posix""" .
+.BR 1. " ""libvga.config"" options"
+
+.SH 1. """libvga.config""" OPTIONS
+
+.\" this works, but inserts a space between the quotes and the parenthesis
+.B setlocale(lc_all, """""")
+
+.\" However, I recommend to use these quotes:
+.B setlocale(lc_all, \(dq\(dq)
+
+.\" Lets be nasty
+This:
+
+.BI -help , -h , -? , /?
+
+should be equivalent to:
+
+.BI "-help", "-h", "-?", "/?"
+
+This also:
+
+.BI -help" a -h a -? a /?
+
+should be equivalent to:
+
+.BI "-help"""a "-h"a "-?"a "/?"
+
diff --git a/t/fmt/man/quotes.norm b/t/fmt/man/quotes.norm
new file mode 100644
index 0000000..b053183
--- /dev/null
+++ b/t/fmt/man/quotes.norm
@@ -0,0 +1,39 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH test 1 test test
+.SH Section1
+
+.\" double quotes in a quoted arguments
+\fB""\fP
+
+.\" Other similar ugly quotes
+\fB"c"\fP and \fB"posix"\fP. \fB1.\fP "libvga.config" options
+
+.SH "1. \(dqlibvga.config\(dq OPTIONS"
+
+.\" this works, but inserts a space between the quotes and the parenthesis
+\fBsetlocale(lc_all, "" )\fP
+
+.\" However, I recommend to use these quotes:
+\fBsetlocale(lc_all, "")\fP
+
+.\" Lets be nasty
+This:
+
+\fB\-help\fP\fI,\fP\fB\-h\fP\fI,\fP\fB\-?\fP\fI,\fP\fB/?\fP
+
+should be equivalent to:
+
+\fB\-help\fP\fI,\fP\fB\-h\fP\fI,\fP\fB\-?\fP\fI,\fP\fB/?\fP
+
+This also:
+
+\fB\-help"\fP\fIa\fP\fB\-h\fP\fIa\fP\fB\-?\fP\fIa\fP\fB/?\fP
+
+should be equivalent to:
+
+\fB\-help"\fP\fIa\fP\fB\-h\fP\fIa\fP\fB\-?\fP\fIa\fP\fB/?\fP
+
diff --git a/t/fmt/man/quotes.po b/t/fmt/man/quotes.po
new file mode 100644
index 0000000..485ed85
--- /dev/null
+++ b/t/fmt/man/quotes.po
@@ -0,0 +1,85 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-26 22:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: quotes.man:1
+#, no-wrap
+msgid "test"
+msgstr "TEST"
+
+#. type: SH
+#: quotes.man:2
+#, no-wrap
+msgid "Section1"
+msgstr "SECTION1"
+
+#. double quotes in a quoted arguments
+#. type: Plain text
+#: quotes.man:6
+msgid "B<\"\">"
+msgstr "B<\"\">"
+
+#. Other similar ugly quotes
+#. type: Plain text
+#: quotes.man:10
+msgid "B<\"c\"> and B<\"posix\">. B<1.> \"libvga.config\" options"
+msgstr "B<\"C\"> AND B<\"POSIX\">. B<1.> \"LIBVGA.CONFIG\" OPTIONS"
+
+#. type: SH
+#: quotes.man:11
+#, no-wrap
+msgid "1. \"libvga.config\" OPTIONS"
+msgstr "1. \"LIBVGA.CONFIG\" OPTIONS"
+
+#. this works, but inserts a space between the quotes and the parenthesis
+#. type: Plain text
+#: quotes.man:15
+msgid "B<setlocale(lc_all, \"\" )>"
+msgstr "B<SETLOCALE(LC_ALL, \"\" )>"
+
+#. However, I recommend to use these quotes:
+#. type: Plain text
+#: quotes.man:18
+msgid "B<setlocale(lc_all, \"\")>"
+msgstr "B<SETLOCALE(LC_ALL, \"\")>"
+
+#. Lets be nasty
+#. type: Plain text
+#: quotes.man:21
+msgid "This:"
+msgstr "THIS:"
+
+#. type: Plain text
+#: quotes.man:23 quotes.man:27
+msgid "B<-help>I<,>B<-h>I<,>B<-?>I<,>B</?>"
+msgstr "B<-HELP>I<,>B<-H>I<,>B<-?>I<,>B</?>"
+
+#. type: Plain text
+#: quotes.man:25 quotes.man:33
+msgid "should be equivalent to:"
+msgstr "SHOULD BE EQUIVALENT TO:"
+
+#. type: Plain text
+#: quotes.man:29
+msgid "This also:"
+msgstr "THIS ALSO:"
+
+#. type: Plain text
+#: quotes.man:31 quotes.man:35
+msgid "B<-help\">I<a>B<-h>I<a>B<-?>I<a>B</?>"
+msgstr "B<-HELP\">I<1>B<-h>I<1>B<-?>I<1>B</?>"
diff --git a/t/fmt/man/quotes.pot b/t/fmt/man/quotes.pot
new file mode 100644
index 0000000..f211c13
--- /dev/null
+++ b/t/fmt/man/quotes.pot
@@ -0,0 +1,85 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-26 22:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: quotes.man:1
+#, no-wrap
+msgid "test"
+msgstr ""
+
+#. type: SH
+#: quotes.man:2
+#, no-wrap
+msgid "Section1"
+msgstr ""
+
+#. double quotes in a quoted arguments
+#. type: Plain text
+#: quotes.man:6
+msgid "B<\"\">"
+msgstr ""
+
+#. Other similar ugly quotes
+#. type: Plain text
+#: quotes.man:10
+msgid "B<\"c\"> and B<\"posix\">. B<1.> \"libvga.config\" options"
+msgstr ""
+
+#. type: SH
+#: quotes.man:11
+#, no-wrap
+msgid "1. \"libvga.config\" OPTIONS"
+msgstr ""
+
+#. this works, but inserts a space between the quotes and the parenthesis
+#. type: Plain text
+#: quotes.man:15
+msgid "B<setlocale(lc_all, \"\" )>"
+msgstr ""
+
+#. However, I recommend to use these quotes:
+#. type: Plain text
+#: quotes.man:18
+msgid "B<setlocale(lc_all, \"\")>"
+msgstr ""
+
+#. Lets be nasty
+#. type: Plain text
+#: quotes.man:21
+msgid "This:"
+msgstr ""
+
+#. type: Plain text
+#: quotes.man:23 quotes.man:27
+msgid "B<-help>I<,>B<-h>I<,>B<-?>I<,>B</?>"
+msgstr ""
+
+#. type: Plain text
+#: quotes.man:25 quotes.man:33
+msgid "should be equivalent to:"
+msgstr ""
+
+#. type: Plain text
+#: quotes.man:29
+msgid "This also:"
+msgstr ""
+
+#. type: Plain text
+#: quotes.man:31 quotes.man:35
+msgid "B<-help\">I<a>B<-h>I<a>B<-?>I<a>B</?>"
+msgstr ""
diff --git a/t/fmt/man/quotes.trans b/t/fmt/man/quotes.trans
new file mode 100644
index 0000000..c3ce82d
--- /dev/null
+++ b/t/fmt/man/quotes.trans
@@ -0,0 +1,39 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH TEST 1 TEST TEST
+.SH SECTION1
+
+.\" double quotes in a quoted arguments
+\fB""\fP
+
+.\" Other similar ugly quotes
+\fB"C"\fP AND \fB"POSIX"\fP. \fB1.\fP "LIBVGA.CONFIG" OPTIONS
+
+.SH "1. \(dqLIBVGA.CONFIG\(dq OPTIONS"
+
+.\" this works, but inserts a space between the quotes and the parenthesis
+\fBSETLOCALE(LC_ALL, "" )\fP
+
+.\" However, I recommend to use these quotes:
+\fBSETLOCALE(LC_ALL, "")\fP
+
+.\" Lets be nasty
+THIS:
+
+\fB\-HELP\fP\fI,\fP\fB\-H\fP\fI,\fP\fB\-?\fP\fI,\fP\fB/?\fP
+
+SHOULD BE EQUIVALENT TO:
+
+\fB\-HELP\fP\fI,\fP\fB\-H\fP\fI,\fP\fB\-?\fP\fI,\fP\fB/?\fP
+
+THIS ALSO:
+
+\fB\-HELP"\fP\fI1\fP\fB\-h\fP\fI1\fP\fB\-?\fP\fI1\fP\fB/?\fP
+
+SHOULD BE EQUIVALENT TO:
+
+\fB\-HELP"\fP\fI1\fP\fB\-h\fP\fI1\fP\fB\-?\fP\fI1\fP\fB/?\fP
+
diff --git a/t/fmt/man/spaces.man b/t/fmt/man/spaces.man
new file mode 100644
index 0000000..8e46e03
--- /dev/null
+++ b/t/fmt/man/spaces.man
@@ -0,0 +1,16 @@
+.TH SPACES 1
+.SH NAME
+.BR a " " b
+
+.BR a \ b
+
+.BR a\ b
+
+a\ b
+
+.\" There are no non breaking space in EUC-JP, so 0xA0 was converted to ?
+.\" by Encode::from_to
+a?b
+
+.\" No-break space in translation must not be removed
+a
diff --git a/t/fmt/man/spaces.norm b/t/fmt/man/spaces.norm
new file mode 100644
index 0000000..2e5283c
--- /dev/null
+++ b/t/fmt/man/spaces.norm
@@ -0,0 +1,21 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SPACES 1
+.SH NAME
+\fBa\fP \fBb\fP
+
+\fBa\fP\ \fBb\fP
+
+\fBa\ b\fP
+
+a\ b
+
+.\" There are no non breaking space in EUC-JP, so 0xA0 was converted to ?
+.\" by Encode::from_to
+a?b
+
+.\" No-break space in translation must not be removed
+a
diff --git a/t/fmt/man/spaces.po b/t/fmt/man/spaces.po
new file mode 100644
index 0000000..95a014b
--- /dev/null
+++ b/t/fmt/man/spaces.po
@@ -0,0 +1,62 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2010-08-14 13:10+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: spaces.man:1
+#, no-wrap
+msgid "SPACES"
+msgstr "SPACES"
+
+#. type: SH
+#: spaces.man:2
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: spaces.man:4
+msgid "B<a> B<b>"
+msgstr "B<A> B<B>"
+
+#. type: Plain text
+#: spaces.man:6
+msgid "B<a>\\ B<b>"
+msgstr "B<A>\\ B<B>"
+
+#. type: Plain text
+#: spaces.man:8
+msgid "B<a\\ b>"
+msgstr "B<A\\ B>"
+
+#. type: Plain text
+#: spaces.man:10
+msgid "a\\ b"
+msgstr "A\\ B"
+
+#. There are no non breaking space in EUC-JP, so 0xA0 was converted to ?
+#. by Encode::from_to
+#. type: Plain text
+#: spaces.man:14
+msgid "a?b"
+msgstr "A?B"
+
+#. No-break space in translation must not be removed
+#. type: Plain text
+#: spaces.man:16
+msgid "a"
+msgstr "A"
diff --git a/t/fmt/man/spaces.pot b/t/fmt/man/spaces.pot
new file mode 100644
index 0000000..f333a39
--- /dev/null
+++ b/t/fmt/man/spaces.pot
@@ -0,0 +1,62 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2010-08-14 13:10+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: spaces.man:1
+#, no-wrap
+msgid "SPACES"
+msgstr ""
+
+#. type: SH
+#: spaces.man:2
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: spaces.man:4
+msgid "B<a> B<b>"
+msgstr ""
+
+#. type: Plain text
+#: spaces.man:6
+msgid "B<a>\\ B<b>"
+msgstr ""
+
+#. type: Plain text
+#: spaces.man:8
+msgid "B<a\\ b>"
+msgstr ""
+
+#. type: Plain text
+#: spaces.man:10
+msgid "a\\ b"
+msgstr ""
+
+#. There are no non breaking space in EUC-JP, so 0xA0 was converted to ?
+#. by Encode::from_to
+#. type: Plain text
+#: spaces.man:14
+msgid "a?b"
+msgstr ""
+
+#. No-break space in translation must not be removed
+#. type: Plain text
+#: spaces.man:16
+msgid "a"
+msgstr ""
diff --git a/t/fmt/man/spaces.trans b/t/fmt/man/spaces.trans
new file mode 100644
index 0000000..d27839c
--- /dev/null
+++ b/t/fmt/man/spaces.trans
@@ -0,0 +1,21 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SPACES 1
+.SH name
+\fBA\fP \fBB\fP
+
+\fBA\fP\ \fBB\fP
+
+\fBA\ B\fP
+
+A\ B
+
+.\" There are no non breaking space in EUC-JP, so 0xA0 was converted to ?
+.\" by Encode::from_to
+A?B
+
+.\" No-break space in translation must not be removed
+A
diff --git a/t/fmt/man/tbl-mdoc-mixed1.man b/t/fmt/man/tbl-mdoc-mixed1.man
new file mode 100644
index 0000000..db4f6cf
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed1.man
@@ -0,0 +1,6 @@
+.\" Commentaire1
+.TH MIXED 1
+.SH NAME
+mixed \- test
+\fI
+.\" Commentaire2
diff --git a/t/fmt/man/tbl-mdoc-mixed1.norm b/t/fmt/man/tbl-mdoc-mixed1.norm
new file mode 100644
index 0000000..66fd40b
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed1.norm
@@ -0,0 +1,10 @@
+.\" Commentaire1
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MIXED 1
+.SH NAME
+mixed \- test
+.\" Commentaire2
diff --git a/t/fmt/man/tbl-mdoc-mixed1.po b/t/fmt/man/tbl-mdoc-mixed1.po
new file mode 100644
index 0000000..a03ca16
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed1.po
@@ -0,0 +1,46 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: tbl-mdoc-mixed1.man:2
+#, no-wrap
+msgid "MIXED"
+msgstr "mixed"
+
+#. type: SH
+#: tbl-mdoc-mixed1.man:3
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: tbl-mdoc-mixed1.man:5
+msgid "mixed - test"
+msgstr "MIXED - TEST"
+
+#~ msgid "11 24, 1979"
+#~ msgstr "11 24, 1979"
+
+#~ msgid "MIXED 2"
+#~ msgstr "mixed 2"
+
+#~ msgid "E<.Nm mixed2>"
+#~ msgstr "E<.Nm MIXED2>"
+
+#~ msgid "test2"
+#~ msgstr "TEST2"
diff --git a/t/fmt/man/tbl-mdoc-mixed1.pot b/t/fmt/man/tbl-mdoc-mixed1.pot
new file mode 100644
index 0000000..8653303
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed1.pot
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: tbl-mdoc-mixed1.man:2
+#, no-wrap
+msgid "MIXED"
+msgstr ""
+
+#. type: SH
+#: tbl-mdoc-mixed1.man:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: tbl-mdoc-mixed1.man:5
+msgid "mixed - test"
+msgstr ""
diff --git a/t/fmt/man/tbl-mdoc-mixed1.trans b/t/fmt/man/tbl-mdoc-mixed1.trans
new file mode 100644
index 0000000..80436f5
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed1.trans
@@ -0,0 +1,10 @@
+.\" Commentaire1
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH mixed 1
+.SH name
+MIXED \- TEST
+.\" Commentaire2
diff --git a/t/fmt/man/tbl-mdoc-mixed2.man b/t/fmt/man/tbl-mdoc-mixed2.man
new file mode 100644
index 0000000..f7c08f9
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed2.man
@@ -0,0 +1,8 @@
+.\" Commentaire3
+.Dd 11 24, 1979
+.Dt MIXED 2
+.Os
+.Sh NAME
+.Nm mixed2
+.Nd test2
+.\" Commentaire4
diff --git a/t/fmt/man/tbl-mdoc-mixed2.norm b/t/fmt/man/tbl-mdoc-mixed2.norm
new file mode 100644
index 0000000..a5a4cf0
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed2.norm
@@ -0,0 +1,13 @@
+.\" Commentaire3
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.Dd 11 24, 1979
+.Dt MIXED 2
+.Os
+.Sh NAME
+.Nm mixed2
+.Nd test2
+.\" Commentaire4
diff --git a/t/fmt/man/tbl-mdoc-mixed2.po b/t/fmt/man/tbl-mdoc-mixed2.po
new file mode 100644
index 0000000..bc4e2ec
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed2.po
@@ -0,0 +1,52 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Dd
+#: tbl-mdoc-mixed2.man:2
+#, no-wrap
+msgid "11 24, 1979"
+msgstr "11 24, 1979"
+
+#. type: Dt
+#: tbl-mdoc-mixed2.man:3
+#, no-wrap
+msgid "MIXED 2"
+msgstr "mixed 2"
+
+#. type: Sh
+#: tbl-mdoc-mixed2.man:5
+#, no-wrap
+msgid "NAME"
+msgstr "NAME"
+
+#. type: Plain text
+#: tbl-mdoc-mixed2.man:7
+msgid "E<.Nm mixed2>"
+msgstr "E<.Nm MIXED2>"
+
+#. type: Nd
+#: tbl-mdoc-mixed2.man:7
+#, no-wrap
+msgid "test2"
+msgstr "TEST2"
+
+#~ msgid "MIXED"
+#~ msgstr "mixed"
+
+#~ msgid "mixed - test"
+#~ msgstr "MIXED - TEST"
diff --git a/t/fmt/man/tbl-mdoc-mixed2.pot b/t/fmt/man/tbl-mdoc-mixed2.pot
new file mode 100644
index 0000000..b1cbe2e
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed2.pot
@@ -0,0 +1,46 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Dd
+#: tbl-mdoc-mixed2.man:2
+#, no-wrap
+msgid "11 24, 1979"
+msgstr ""
+
+#. type: Dt
+#: tbl-mdoc-mixed2.man:3
+#, no-wrap
+msgid "MIXED 2"
+msgstr ""
+
+#. type: Sh
+#: tbl-mdoc-mixed2.man:5
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: tbl-mdoc-mixed2.man:7
+msgid "E<.Nm mixed2>"
+msgstr ""
+
+#. type: Nd
+#: tbl-mdoc-mixed2.man:7
+#, no-wrap
+msgid "test2"
+msgstr ""
diff --git a/t/fmt/man/tbl-mdoc-mixed2.trans b/t/fmt/man/tbl-mdoc-mixed2.trans
new file mode 100644
index 0000000..6ee2f01
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed2.trans
@@ -0,0 +1,13 @@
+.\" Commentaire3
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.Dd 11 24, 1979
+.Dt mixed 2
+.Os
+.Sh NAME
+.Nm MIXED2
+.Nd TEST2
+.\" Commentaire4
diff --git a/t/fmt/man/tbl-mdoc-mixed3.man b/t/fmt/man/tbl-mdoc-mixed3.man
new file mode 100644
index 0000000..bf5300f
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed3.man
@@ -0,0 +1,6 @@
+.\" Commentaire5
+.TH MIXED 1
+.SH NAME
+mixed \- test
+\fI
+.\" Commentaire6
diff --git a/t/fmt/man/tbl-mdoc-mixed3.norm b/t/fmt/man/tbl-mdoc-mixed3.norm
new file mode 100644
index 0000000..c7b4e54
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed3.norm
@@ -0,0 +1,10 @@
+.\" Commentaire5
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MIXED 1
+.SH NAME
+mixed \- test
+.\" Commentaire6
diff --git a/t/fmt/man/tbl-mdoc-mixed3.po b/t/fmt/man/tbl-mdoc-mixed3.po
new file mode 100644
index 0000000..3f8c2c4
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed3.po
@@ -0,0 +1,46 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: tbl-mdoc-mixed3.man:2
+#, no-wrap
+msgid "MIXED"
+msgstr "mixed"
+
+#. type: SH
+#: tbl-mdoc-mixed3.man:3
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: tbl-mdoc-mixed3.man:5
+msgid "mixed - test"
+msgstr "MIXED - TEST"
+
+#~ msgid "11 24, 1979"
+#~ msgstr "11 24, 1979"
+
+#~ msgid "MIXED 2"
+#~ msgstr "mixed 2"
+
+#~ msgid "E<.Nm mixed2>"
+#~ msgstr "E<.Nm MIXED2>"
+
+#~ msgid "test2"
+#~ msgstr "TEST2"
diff --git a/t/fmt/man/tbl-mdoc-mixed3.pot b/t/fmt/man/tbl-mdoc-mixed3.pot
new file mode 100644
index 0000000..8b8e206
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed3.pot
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:14+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: tbl-mdoc-mixed3.man:2
+#, no-wrap
+msgid "MIXED"
+msgstr ""
+
+#. type: SH
+#: tbl-mdoc-mixed3.man:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: tbl-mdoc-mixed3.man:5
+msgid "mixed - test"
+msgstr ""
diff --git a/t/fmt/man/tbl-mdoc-mixed3.trans b/t/fmt/man/tbl-mdoc-mixed3.trans
new file mode 100644
index 0000000..3644111
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed3.trans
@@ -0,0 +1,10 @@
+.\" Commentaire5
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH mixed 1
+.SH name
+MIXED \- TEST
+.\" Commentaire6
diff --git a/t/fmt/man/tbl-mdoc-mixed4.man b/t/fmt/man/tbl-mdoc-mixed4.man
new file mode 100644
index 0000000..50a285e
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed4.man
@@ -0,0 +1,6 @@
+.\" Commentaire7
+.TH MIXED 1
+.SH NAME
+mixed \- test
+\fI
+.\" Commentaire8
diff --git a/t/fmt/man/tbl-mdoc-mixed4.norm b/t/fmt/man/tbl-mdoc-mixed4.norm
new file mode 100644
index 0000000..51de9c6
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed4.norm
@@ -0,0 +1,10 @@
+.\" Commentaire7
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MIXED 1
+.SH NAME
+mixed \- test
+.\" Commentaire8
diff --git a/t/fmt/man/tbl-mdoc-mixed4.po b/t/fmt/man/tbl-mdoc-mixed4.po
new file mode 100644
index 0000000..754802c
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed4.po
@@ -0,0 +1,46 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:15+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: tbl-mdoc-mixed4.man:2
+#, no-wrap
+msgid "MIXED"
+msgstr "mixed"
+
+#. type: SH
+#: tbl-mdoc-mixed4.man:3
+#, no-wrap
+msgid "NAME"
+msgstr "name"
+
+#. type: Plain text
+#: tbl-mdoc-mixed4.man:5
+msgid "mixed - test"
+msgstr "MIXED - TEST"
+
+#~ msgid "11 24, 1979"
+#~ msgstr "11 24, 1979"
+
+#~ msgid "MIXED 2"
+#~ msgstr "mixed 2"
+
+#~ msgid "E<.Nm mixed2>"
+#~ msgstr "E<.Nm MIXED2>"
+
+#~ msgid "test2"
+#~ msgstr "TEST2"
diff --git a/t/fmt/man/tbl-mdoc-mixed4.pot b/t/fmt/man/tbl-mdoc-mixed4.pot
new file mode 100644
index 0000000..979006c
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed4.pot
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 17:15+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: tbl-mdoc-mixed4.man:2
+#, no-wrap
+msgid "MIXED"
+msgstr ""
+
+#. type: SH
+#: tbl-mdoc-mixed4.man:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: tbl-mdoc-mixed4.man:5
+msgid "mixed - test"
+msgstr ""
diff --git a/t/fmt/man/tbl-mdoc-mixed4.trans b/t/fmt/man/tbl-mdoc-mixed4.trans
new file mode 100644
index 0000000..db796b2
--- /dev/null
+++ b/t/fmt/man/tbl-mdoc-mixed4.trans
@@ -0,0 +1,10 @@
+.\" Commentaire7
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH mixed 1
+.SH name
+MIXED \- TEST
+.\" Commentaire8
diff --git a/t/fmt/man/tbl-option-tab.man b/t/fmt/man/tbl-option-tab.man
new file mode 100644
index 0000000..2168135
--- /dev/null
+++ b/t/fmt/man/tbl-option-tab.man
@@ -0,0 +1,20 @@
+.\" This chunk comes from mandb(8).
+
+.TS
+tab (@);
+l l l l.
+Name@Type@Async@Filename
+_
+Berkeley db@T{
+Binary tree
+T}@Yes@\fIindex.bt\fR
+GNU gdbm v >= 1.6@T{
+Hashed
+T}@Yes@\fIindex.db\fR
+GNU gdbm v < 1.6@T{
+Hashed
+T}@No@\fIindex.db\fR
+UNIX ndbm@T{
+Hashed
+T}@No@\fIindex.(dir|pag)\fR
+.TE
diff --git a/t/fmt/man/tbl-option-tab.norm b/t/fmt/man/tbl-option-tab.norm
new file mode 100644
index 0000000..1bbd993
--- /dev/null
+++ b/t/fmt/man/tbl-option-tab.norm
@@ -0,0 +1,20 @@
+
+.\" This chunk comes from mandb(8).
+.TS
+tab (@);
+l l l l.
+Name@Type@Async@Filename
+_
+Berkeley db@T{
+Binary tree
+T}@Yes@\fIindex.bt\fP
+GNU gdbm v >= 1.6@T{
+Hashed
+T}@Yes@\fIindex.db\fP
+GNU gdbm v < 1.6@T{
+Hashed
+T}@No@\fIindex.db\fP
+UNIX ndbm@T{
+Hashed
+T}@No@\fIindex.(dir|pag)\fP
+.TE
diff --git a/t/fmt/man/tbl-option-tab.po b/t/fmt/man/tbl-option-tab.po
new file mode 100644
index 0000000..2d638a0
--- /dev/null
+++ b/t/fmt/man/tbl-option-tab.po
@@ -0,0 +1,113 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2016-12-11 11:35+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Name"
+msgstr "NAME"
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Type"
+msgstr "TYPE"
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Async"
+msgstr "ASYNC"
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Filename"
+msgstr "FILENAME"
+
+#. type: tbl table
+#: tbl-option-tab.man:7
+#, no-wrap
+msgid "_"
+msgstr "_"
+
+#. type: tbl table
+#: tbl-option-tab.man:8
+#, no-wrap
+msgid "Berkeley db"
+msgstr "BERKELEY DB"
+
+#. type: tbl table
+#: tbl-option-tab.man:10
+#, no-wrap
+msgid "Binary tree"
+msgstr "BINARY TREE"
+
+#. type: tbl table
+#: tbl-option-tab.man:10 tbl-option-tab.man:13
+#, no-wrap
+msgid "Yes"
+msgstr "YES"
+
+#. type: tbl table
+#: tbl-option-tab.man:10
+#, no-wrap
+msgid "I<index.bt>"
+msgstr "I<INDEX.BT>"
+
+#. type: tbl table
+#: tbl-option-tab.man:11
+#, no-wrap
+msgid "GNU gdbm v E<gt>= 1.6"
+msgstr "GNU GDBM V E<gt>= 1.6"
+
+#. type: tbl table
+#: tbl-option-tab.man:13 tbl-option-tab.man:16 tbl-option-tab.man:19
+#, no-wrap
+msgid "Hashed"
+msgstr "HASHED"
+
+#. type: tbl table
+#: tbl-option-tab.man:13 tbl-option-tab.man:16
+#, no-wrap
+msgid "I<index.db>"
+msgstr "I<INDEX.DB>"
+
+#. type: tbl table
+#: tbl-option-tab.man:14
+#, no-wrap
+msgid "GNU gdbm v E<lt> 1.6"
+msgstr "GNU GDBM V E<lt> 1.6"
+
+#. type: tbl table
+#: tbl-option-tab.man:16 tbl-option-tab.man:19
+#, no-wrap
+msgid "No"
+msgstr "NO"
+
+#. type: tbl table
+#: tbl-option-tab.man:17
+#, no-wrap
+msgid "UNIX ndbm"
+msgstr "UNIX NDBM"
+
+#. type: tbl table
+#: tbl-option-tab.man:19
+#, no-wrap
+msgid "I<index.(dir|pag)>"
+msgstr "I<INDEX.(DIR|PAG)>"
diff --git a/t/fmt/man/tbl-option-tab.pot b/t/fmt/man/tbl-option-tab.pot
new file mode 100644
index 0000000..34df49f
--- /dev/null
+++ b/t/fmt/man/tbl-option-tab.pot
@@ -0,0 +1,113 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2016-12-11 11:35+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Name"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Type"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Async"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:6
+#, no-wrap
+msgid "Filename"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:7
+#, no-wrap
+msgid "_"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:8
+#, no-wrap
+msgid "Berkeley db"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:10
+#, no-wrap
+msgid "Binary tree"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:10 tbl-option-tab.man:13
+#, no-wrap
+msgid "Yes"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:10
+#, no-wrap
+msgid "I<index.bt>"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:11
+#, no-wrap
+msgid "GNU gdbm v E<gt>= 1.6"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:13 tbl-option-tab.man:16 tbl-option-tab.man:19
+#, no-wrap
+msgid "Hashed"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:13 tbl-option-tab.man:16
+#, no-wrap
+msgid "I<index.db>"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:14
+#, no-wrap
+msgid "GNU gdbm v E<lt> 1.6"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:16 tbl-option-tab.man:19
+#, no-wrap
+msgid "No"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:17
+#, no-wrap
+msgid "UNIX ndbm"
+msgstr ""
+
+#. type: tbl table
+#: tbl-option-tab.man:19
+#, no-wrap
+msgid "I<index.(dir|pag)>"
+msgstr ""
diff --git a/t/fmt/man/tbl-option-tab.trans b/t/fmt/man/tbl-option-tab.trans
new file mode 100644
index 0000000..ef15b52
--- /dev/null
+++ b/t/fmt/man/tbl-option-tab.trans
@@ -0,0 +1,20 @@
+
+.\" This chunk comes from mandb(8).
+.TS
+tab (@);
+l l l l.
+NAME@TYPE@ASYNC@FILENAME
+_
+BERKELEY DB@T{
+BINARY TREE
+T}@YES@\fIINDEX.BT\fP
+GNU GDBM V >= 1.6@T{
+HASHED
+T}@YES@\fIINDEX.DB\fP
+GNU GDBM V < 1.6@T{
+HASHED
+T}@NO@\fIINDEX.DB\fP
+UNIX NDBM@T{
+HASHED
+T}@NO@\fIINDEX.(DIR|PAG)\fP
+.TE
diff --git a/t/fmt/man/tbl-textblock.man b/t/fmt/man/tbl-textblock.man
new file mode 100644
index 0000000..7926860
--- /dev/null
+++ b/t/fmt/man/tbl-textblock.man
@@ -0,0 +1,32 @@
+.\" This chunk comes from ps(1). It is intented to test
+.\" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748601
+
+.TS
+expand;
+lB1 lB1 lBw(\n[ColSize]n)
+lB1 l1 l.
+code header description
+
+%cpu %CPU T{
+cpu utilization of the process in "##.#" format. It is the CPU time.
+(alias\ \fBpcpu\fR).
+T}
+
+
+class CLS T{
+scheduling class of the process. (alias\ \fBpolicy\fR,\ \fBcls\fR).
+Field's possible values are:
+.br
+\- not reported
+.br
+TS sched_other
+.br
+FF sched_fifo
+.br
+RR sched_rr
+.br
+? unknown value
+T}
+
+.TE
+.\" #######################################################################
diff --git a/t/fmt/man/tbl-textblock.norm b/t/fmt/man/tbl-textblock.norm
new file mode 100644
index 0000000..0e24bdd
--- /dev/null
+++ b/t/fmt/man/tbl-textblock.norm
@@ -0,0 +1,32 @@
+
+.\" This chunk comes from ps(1). It is intented to test
+.\" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748601
+.TS
+expand;
+lB1 lB1 lBw(\n[ColSize]n)
+lB1 l1 l.
+code header description
+
+%cpu %CPU T{
+cpu utilization of the process in "##.#" format. It is the CPU time.
+(alias\ \fBpcpu\fP).
+T}
+
+
+class CLS T{
+scheduling class of the process. (alias\ \fBpolicy\fP,\ \fBcls\fP).
+Field's possible values are:
+.br
+\- not reported
+.br
+TS sched_other
+.br
+FF sched_fifo
+.br
+RR sched_rr
+.br
+? unknown value
+T}
+
+.TE
+.\" #######################################################################
diff --git a/t/fmt/man/tbl-textblock.po b/t/fmt/man/tbl-textblock.po
new file mode 100644
index 0000000..403b89b
--- /dev/null
+++ b/t/fmt/man/tbl-textblock.po
@@ -0,0 +1,92 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 16:40+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: tbl table
+#: tbl-textblock.man:8
+#, no-wrap
+msgid "code header description"
+msgstr "CODE HEADER DESCRIPTIVE"
+
+#. type: tbl table
+#: tbl-textblock.man:10
+#, no-wrap
+msgid "%cpu %CPU"
+msgstr "%CPU %CPU"
+
+#. type: tbl table
+#: tbl-textblock.man:13
+#, no-wrap
+msgid ""
+"cpu utilization of the process in \"##.#\" format. It is the CPU time.\n"
+"(alias\\ B<pcpu>)."
+msgstr ""
+"CPU UTILIZATION OF THE PROCESS IN \"##.#\" FORMAT. IT IS THE CPUT TIME.\n"
+"(ALIAS\\ B<PCPU>)."
+
+#. type: tbl table
+#: tbl-textblock.man:16
+#, no-wrap
+msgid "class CLS"
+msgstr "CLASS CLS"
+
+#. type: tbl table
+#: tbl-textblock.man:19
+#, no-wrap
+msgid ""
+"scheduling class of the process. (alias\\ B<policy>,\\ B<cls>).\n"
+"Field's possible values are:\n"
+msgstr ""
+"SCHEDULING CLASS OF tHE PROCESS. (ALIAS\\ B<POLICY>,\\ B<CLS>).\n"
+"FIELD'S POSSIBLE VALUES ARE:\n"
+
+#. type: tbl table
+#: tbl-textblock.man:19 tbl-textblock.man:21 tbl-textblock.man:23
+#: tbl-textblock.man:25 tbl-textblock.man:27
+#, no-wrap
+msgid ".br\n"
+msgstr ".br\n"
+
+#. type: tbl table
+#: tbl-textblock.man:21
+#, no-wrap
+msgid "- not reported\n"
+msgstr "- NOT REPORTED\n"
+
+#. type: tbl table
+#: tbl-textblock.man:23
+#, no-wrap
+msgid "TS sched_other\n"
+msgstr "TS SCHED_OTHER\n"
+
+#. type: tbl table
+#: tbl-textblock.man:25
+#, no-wrap
+msgid "FF sched_fifo\n"
+msgstr "FF SCHED_FIFO\n"
+
+#. type: tbl table
+#: tbl-textblock.man:27
+#, no-wrap
+msgid "RR sched_rr\n"
+msgstr "RR SCHED_RR\n"
+
+#. type: tbl table
+#: tbl-textblock.man:29
+#, no-wrap
+msgid "? unknown value"
+msgstr "? UNKNOWN VALUE"
diff --git a/t/fmt/man/tbl-textblock.pot b/t/fmt/man/tbl-textblock.pot
new file mode 100644
index 0000000..31937a0
--- /dev/null
+++ b/t/fmt/man/tbl-textblock.pot
@@ -0,0 +1,88 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-04-27 16:38+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: tbl table
+#: tbl-textblock.man:8
+#, no-wrap
+msgid "code header description"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:10
+#, no-wrap
+msgid "%cpu %CPU"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:13
+#, no-wrap
+msgid ""
+"cpu utilization of the process in \"##.#\" format. It is the CPU time.\n"
+"(alias\\ B<pcpu>)."
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:16
+#, no-wrap
+msgid "class CLS"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:19
+#, no-wrap
+msgid ""
+"scheduling class of the process. (alias\\ B<policy>,\\ B<cls>).\n"
+"Field's possible values are:\n"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:19 tbl-textblock.man:21 tbl-textblock.man:23
+#: tbl-textblock.man:25 tbl-textblock.man:27
+#, no-wrap
+msgid ".br\n"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:21
+#, no-wrap
+msgid "- not reported\n"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:23
+#, no-wrap
+msgid "TS sched_other\n"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:25
+#, no-wrap
+msgid "FF sched_fifo\n"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:27
+#, no-wrap
+msgid "RR sched_rr\n"
+msgstr ""
+
+#. type: tbl table
+#: tbl-textblock.man:29
+#, no-wrap
+msgid "? unknown value"
+msgstr ""
diff --git a/t/fmt/man/tbl-textblock.trans b/t/fmt/man/tbl-textblock.trans
new file mode 100644
index 0000000..1dab331
--- /dev/null
+++ b/t/fmt/man/tbl-textblock.trans
@@ -0,0 +1,32 @@
+
+.\" This chunk comes from ps(1). It is intented to test
+.\" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748601
+.TS
+expand;
+lB1 lB1 lBw(\n[ColSize]n)
+lB1 l1 l.
+CODE HEADER DESCRIPTIVE
+
+%CPU %CPU T{
+CPU UTILIZATION OF THE PROCESS IN "##.#" FORMAT. IT IS THE CPUT TIME.
+(ALIAS\ \fBPCPU\fP).
+T}
+
+
+CLASS CLS T{
+SCHEDULING CLASS OF tHE PROCESS. (ALIAS\ \fBPOLICY\fP,\ \fBCLS\fP).
+FIELD'S POSSIBLE VALUES ARE:
+.br
+\- NOT REPORTED
+.br
+TS SCHED_OTHER
+.br
+FF SCHED_FIFO
+.br
+RR SCHED_RR
+.br
+? UNKNOWN VALUE
+T}
+
+.TE
+.\" #######################################################################