]> git.cameronkatri.com Git - mandoc.git/blobdiff - mchars_alloc.3
Debian wants relative, not absolute symlinks for man pages;
[mandoc.git] / mchars_alloc.3
index 8c3f853492f24ac8a7572c6d217da5ab8132f2c7..4bb862083ab373323b5d07934b52723baf127f42 100644 (file)
@@ -1,4 +1,4 @@
-.\"    $Id: mchars_alloc.3,v 1.1 2014/08/05 05:48:56 schwarze Exp $
+.\"    $Id: mchars_alloc.3,v 1.4 2016/07/07 19:19:01 schwarze Exp $
 .\"
 .\" Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
 .\"
 .\"
 .\" Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
 .\"
@@ -14,7 +14,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: August 5 2014 $
+.Dd $Mdocdate: July 7 2016 $
 .Dt MCHARS_ALLOC 3
 .Os
 .Sh NAME
 .Dt MCHARS_ALLOC 3
 .Os
 .Sh NAME
 .Nm mchars_num2char ,
 .Nm mchars_num2uc ,
 .Nm mchars_spec2cp ,
 .Nm mchars_num2char ,
 .Nm mchars_num2uc ,
 .Nm mchars_spec2cp ,
-.Nm mchars_spec2str
+.Nm mchars_spec2str ,
+.Nm mchars_uc2str
 .Nd character table for mandoc
 .Nd character table for mandoc
-.Sh LIBRARY
-.Lb libmandoc
 .Sh SYNOPSIS
 .In sys/types.h
 .In mandoc.h
 .Sh SYNOPSIS
 .In sys/types.h
 .In mandoc.h
-.Ft "struct mchars *"
-.Fn mchars_alloc "void"
 .Ft void
 .Ft void
-.Fo mchars_free
-.Fa "struct mchars *table"
-.Fc
+.Fn mchars_alloc void
+.Ft void
+.Fn mchars_free void
 .Ft char
 .Fo mchars_num2char
 .Fa "const char *decimal"
 .Ft char
 .Fo mchars_num2char
 .Fa "const char *decimal"
 .Fc
 .Ft int
 .Fo mchars_spec2cp
 .Fc
 .Ft int
 .Fo mchars_spec2cp
-.Fa "const struct mchars *table"
 .Fa "const char *name"
 .Fa "size_t sz"
 .Fc
 .Ft "const char *"
 .Fo mchars_spec2str
 .Fa "const char *name"
 .Fa "size_t sz"
 .Fc
 .Ft "const char *"
 .Fo mchars_spec2str
-.Fa "const struct mchars *table"
 .Fa "const char *name"
 .Fa "size_t sz"
 .Fa "size_t *rsz"
 .Fc
 .Fa "const char *name"
 .Fa "size_t sz"
 .Fa "size_t *rsz"
 .Fc
+.Ft "const char *"
+.Fn mchars_uc2str "int codepoint"
 .Sh DESCRIPTION
 These functions translate Unicode character numbers and
 .Xr roff 7
 .Sh DESCRIPTION
 These functions translate Unicode character numbers and
 .Xr roff 7
@@ -133,9 +130,9 @@ escape sequences.
 .Pp
 The function
 .Fn mchars_alloc
 .Pp
 The function
 .Fn mchars_alloc
-allocates an opaque
-.Vt "struct mchars *"
-table object for subsequent use by the following two lookup functions.
+initializes a static
+.Vt "struct ohash"
+object for subsequent use by the following two lookup functions.
 When no longer needed, this object can be destroyed with
 .Fn mchars_free .
 .Pp
 When no longer needed, this object can be destroyed with
 .Fn mchars_free .
 .Pp
@@ -147,9 +144,7 @@ special character
 .Fa name
 consisting of
 .Fa sz
 .Fa name
 consisting of
 .Fa sz
-characters in the
-.Fa table
-and returns the corresponding Unicode codepoint.
+characters and returns the corresponding Unicode codepoint.
 If the
 .Ar name
 is not recognized, \-1 is returned.
 If the
 .Ar name
 is not recognized, \-1 is returned.
@@ -173,9 +168,7 @@ special character
 .Fa name
 consisting of
 .Fa sz
 .Fa name
 consisting of
 .Fa sz
-characters in the
-.Fa table
-and returns an ASCII string representation.
+characters and returns an ASCII string representation.
 The length of the representation is returned in
 .Fa rsz .
 In many cases, the meaning of such ASCII representations
 The length of the representation is returned in
 .Fa rsz .
 In many cases, the meaning of such ASCII representations
@@ -199,12 +192,21 @@ output module use this function to render
 and
 .Ic \eC\(aq Ns Ar name Ns Ic \(aq
 escape sequences.
 and
 .Ic \eC\(aq Ns Ar name Ns Ic \(aq
 escape sequences.
+.Pp
+The function
+.Fn mchars_uc2str
+performs a reverse lookup of the Unicode
+.Fa codepoint
+and returns an ASCII string representation, or the string
+.Qq <?>
+if none is available.
 .Sh FILES
 These funtions are implemented in the file
 .Pa chars.c .
 .Sh SEE ALSO
 .Xr mandoc 1 ,
 .Xr mandoc_escape 3 ,
 .Sh FILES
 These funtions are implemented in the file
 .Pa chars.c .
 .Sh SEE ALSO
 .Xr mandoc 1 ,
 .Xr mandoc_escape 3 ,
+.Xr ohash_init 3 ,
 .Xr mandoc_char 7 ,
 .Xr roff 7
 .Sh HISTORY
 .Xr mandoc_char 7 ,
 .Xr roff 7
 .Sh HISTORY
@@ -218,6 +220,7 @@ following mandoc versions:
 .It Fn mchars_num2uc Ta 1.11.3 Ta \(em Ta \(em
 .It Fn mchars_spec2cp Ta 1.11.2 Ta Fn chars_spec2cp Ta 1.10.5
 .It Fn mchars_spec2str Ta 1.11.2 Ta Fn a2ascii Ta 1.5.3
 .It Fn mchars_num2uc Ta 1.11.3 Ta \(em Ta \(em
 .It Fn mchars_spec2cp Ta 1.11.2 Ta Fn chars_spec2cp Ta 1.10.5
 .It Fn mchars_spec2str Ta 1.11.2 Ta Fn a2ascii Ta 1.5.3
+.It Fn mchars_uc2str Ta 1.13.2 Ta \(em Ta \(em
 .El
 .Sh AUTHORS
 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv
 .El
 .Sh AUTHORS
 .An Kristaps Dzonsons Aq Mt kristaps@bsd.lv