File: imageloadfont.xml

package info (click to toggle)
phpdoc 20050512-1
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 36,592 kB
  • ctags: 1,501
  • sloc: xml: 376,768; php: 6,708; cpp: 500; makefile: 293; perl: 161; sh: 151; awk: 28
file content (116 lines) | stat: -rw-r--r-- 3,271 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/image.xml, last change in rev 1.2 -->
  <refentry id="function.imageloadfont">
   <refnamediv>
    <refname>imageloadfont</refname>
    <refpurpose>Load a new font</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>int</type><methodname>imageloadfont</methodname>
      <methodparam><type>string</type><parameter>file</parameter></methodparam>
     </methodsynopsis>
    <para>
     <function>imageloadfont</function> loads a user-defined bitmap
     font and returns an identifier for the font (that is always
     greater than 5, so it will not conflict with the built-in fonts).
     It returns &false; in case of error.
    </para>
    <para>
     The font file format is currently binary and architecture
     dependent.  This means you should generate the font files on the
     same type of CPU as the machine you are running PHP on.
    </para>
    <para>
     <table>
      <title>Font file format</title>
      <tgroup cols="3">
       <thead>
       <row>
        <entry>byte position</entry>
        <entry>C data type</entry>
        <entry>description</entry>
       </row>
       </thead>
       <tbody>
        <row>
         <entry>byte 0-3</entry>
         <entry>int</entry>
         <entry>number of characters in the font</entry>
        </row>
        <row>
         <entry>byte 4-7</entry>
         <entry>int</entry>
         <entry>
          value of first character in the font (often 32 for space)
         </entry>
        </row>
        <row>
         <entry>byte 8-11</entry>
         <entry>int</entry>
         <entry>pixel width of each character</entry>
        </row>
        <row>
         <entry>byte 12-15</entry>
         <entry>int</entry>
         <entry>pixel height of each character</entry>
        </row>
        <row>
         <entry>byte 16-</entry>
         <entry>char</entry>
         <entry>
          array with character data, one byte per pixel in each
          character, for a total of (nchars*width*height) bytes.
         </entry>
        </row>
       </tbody>
      </tgroup>
     </table>
    </para>
    <para>
     <example>
      <title>Using imageloadfont</title>
      <programlisting role="php">
<![CDATA[
<?php
$im = imagecreate(50, 20);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 49, 19, $white);
$font = imageloadfont("04b.gdf");
imagestring($im, $font, 0, 0, "Hello", $black);
imagepng($im);
?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     See also <function>imagefontwidth</function> and
     <function>imagefontheight</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->