Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 199168df3fabe584b2d6b1a05ca44868 > files > 27

ocaml-otfm-devel-0.1.0-2.mga4.x86_64.rpm

<html><head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Otfm" rel="Chapter" href="Otfm.html"><title>Otfm</title>
</head>
<body>
<code class="code"><span class="keyword">sig</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;tag<br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">Tag</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;t&nbsp;=&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cmap&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;head&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;hhea&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;hmtx&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;maxp&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;name&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;os2&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;post&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cvt&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fpgm&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;glyf&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;loca&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;prep&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cff&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;vorg&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ebdt&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;eblc&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ebsc&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;dsig&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gasp&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;hdmx&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;kern&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ltsh&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pclt&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;vdmx&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;vhea&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;vmtx&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;base&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gdef&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gpos&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gsub&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;jstf&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;of_bytes&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;to_bytes&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;to_int32&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int32<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;of_int32&nbsp;:&nbsp;int32&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;compare&nbsp;:&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pp&nbsp;:&nbsp;<span class="constructor">Format</span>.formatter&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;cp&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;cp_range&nbsp;=&nbsp;<span class="constructor">Otfm</span>.cp&nbsp;*&nbsp;<span class="constructor">Otfm</span>.cp<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;is_cp&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;error_ctx&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Offset_table</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Table</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Table_directory</span>&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;error&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Invalid_cp</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Invalid_cp_range</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;*&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Invalid_offset</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error_ctx&nbsp;*&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Invalid_postscript_name</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Missing_required_table</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Unexpected_eoi</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error_ctx<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Unknown_flavour</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Unknown_version</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error_ctx&nbsp;*&nbsp;int32<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Unsupported_TTC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Unsupported_cmaps</span>&nbsp;<span class="keyword">of</span>&nbsp;(int&nbsp;*&nbsp;int&nbsp;*&nbsp;int)&nbsp;list&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pp_error&nbsp;:&nbsp;<span class="constructor">Format</span>.formatter&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&lt;&nbsp;<span class="constructor">Otfm</span>.error&nbsp;]&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;src&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">String</span>&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;decoder<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;decoder&nbsp;:&nbsp;[&lt;&nbsp;<span class="constructor">Otfm</span>.src&nbsp;]&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.decoder<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;decoder_src&nbsp;:&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.src<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;flavour&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">CFF</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">TTF</span>&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;flavour&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.flavour&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;table_list&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;list&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;table_mem&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;bool&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;table_raw&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;option&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;glyph_count&nbsp;:&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;int&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;postscript_name&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;string&nbsp;option&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;glyph_id&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;map_kind&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Glyph</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Glyph_range</span>&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cmap&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.map_kind&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.cp_range&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.glyph_id&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;(int&nbsp;*&nbsp;int&nbsp;*&nbsp;int)&nbsp;*&nbsp;<span class="keywordsign">'</span>a&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;head&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_font_revision&nbsp;:&nbsp;int32;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_flags&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_units_per_em&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_created&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_modified&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_xmin&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_ymin&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_xmax&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_ymax&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_mac_style&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_lowest_rec_ppem&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;head_index_to_loc_format&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;head&nbsp;:&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.head&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;hhea&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_ascender&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_descender&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_line_gap&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_advance_width_max&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_min_left_side_bearing&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_min_right_side_bearing&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_xmax_extent&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_caret_slope_rise&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_caret_slope_run&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;hhea_caret_offset&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;hhea&nbsp;:&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.hhea&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;hmtx&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.glyph_id&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;lang&nbsp;=&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;name&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.lang&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;os2&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_x_avg_char_width&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_weight_class&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_width_class&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_fs_type&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_subscript_x_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_subscript_y_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_subscript_x_offset&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_subscript_y_offset&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_superscript_x_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_superscript_y_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_superscript_x_offset&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_superscript_y_offset&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_strikeout_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_y_strikeout_position&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_family_class&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_panose&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ul_unicode_range1&nbsp;:&nbsp;int32;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ul_unicode_range2&nbsp;:&nbsp;int32;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ul_unicode_range3&nbsp;:&nbsp;int32;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ul_unicode_range4&nbsp;:&nbsp;int32;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ach_vend_id&nbsp;:&nbsp;int32;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_fs_selection&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_first_char_index&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_last_char_index&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_s_typo_ascender&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_s_type_descender&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_s_typo_linegap&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_win_ascent&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_win_descent&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ul_code_page_range_1&nbsp;:&nbsp;int32&nbsp;option;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_ul_code_page_range_2&nbsp;:&nbsp;int32&nbsp;option;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_s_x_height&nbsp;:&nbsp;int&nbsp;option;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_s_cap_height&nbsp;:&nbsp;int&nbsp;option;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_default_char&nbsp;:&nbsp;int&nbsp;option;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_break_char&nbsp;:&nbsp;int&nbsp;option;<br>
&nbsp;&nbsp;&nbsp;&nbsp;os2_us_max_context&nbsp;:&nbsp;int&nbsp;option;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;os2&nbsp;:&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.os2&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;kern_info&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;kern_dir&nbsp;:&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">H</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">V</span>&nbsp;];<br>
&nbsp;&nbsp;&nbsp;&nbsp;kern_kind&nbsp;:&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Kern</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Min</span>&nbsp;];<br>
&nbsp;&nbsp;&nbsp;&nbsp;kern_cross_stream&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;kern&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Otfm</span>.decoder&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.kern_info&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Fold</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Skip</span>&nbsp;]&nbsp;*&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.glyph_id&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Otfm</span>.glyph_id&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;[&gt;&nbsp;<span class="keywordsign">`</span><span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">Otfm</span>.error&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Ok</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;]<br>
<span class="keyword">end</span></code></body></html>