diff --git a/phpgwapi/inc/class.pdf.inc.php b/phpgwapi/inc/class.pdf.inc.php new file mode 100644 index 0000000000..33266febd9 --- /dev/null +++ b/phpgwapi/inc/class.pdf.inc.php @@ -0,0 +1,72 @@ +SetCreator('eGroupWare '.$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']); + $this->SetAuthor($GLOBALS['phpgw']->common->display_fullname()); + } + + //Page footer + function Footer() + { + //Position at 1.5 cm from bottom + $this->SetY(-15); + //Arial italic 8 + $this->SetFont('Arial','I',8); + //Page number + $this->Cell(0,10,lang('Page').' '.$this->PageNo().'/{nb}',0,0,'C'); + } + } +?> \ No newline at end of file diff --git a/phpgwapi/inc/common_functions.inc.php b/phpgwapi/inc/common_functions.inc.php index a337d67cce..53bbdf9e14 100755 --- a/phpgwapi/inc/common_functions.inc.php +++ b/phpgwapi/inc/common_functions.inc.php @@ -512,9 +512,11 @@ } if(get_magic_quotes_gpc() && isset($value)) { - // we need to stripslash 2 levels of arrays + // we need to stripslash 3 levels of arrays // because of the password function in preferences // it's named ['user']['variablename']['pw'] + // or something like this in projects + // $values['budgetBegin']['1']['year'] if(@is_array($value)) { /* stripslashes on the first level of array values */ @@ -524,7 +526,17 @@ { foreach($val as $name2 => $val2) { - $value[$name][$name2] = stripslashes($val2); + if(@is_array($val2)) + { + foreach($val2 as $name3 => $val3) + { + $value[$name][$name2][$name3] = stripslashes($val3); + } + } + else + { + $value[$name][$name2] = stripslashes($val2); + } } } else diff --git a/phpgwapi/inc/fpdf/FAQ.htm b/phpgwapi/inc/fpdf/FAQ.htm new file mode 100755 index 0000000000..f556c9cd10 --- /dev/null +++ b/phpgwapi/inc/fpdf/FAQ.htm @@ -0,0 +1,286 @@ + +
+ +1. What's exactly the license of FPDF? Are there any usage restrictions?
+FPDF is Freeware (it is stated at the beginning of the source file). There is no usage +restriction. You may embed it freely in your application (commercial or not), with or +without modification. You may redistribute it, too. +2. When I try to create a PDF, a lot of weird characters show on the screen. Why?
+These "weird" characters are in fact the actual content of your PDF. This behaviour is a bug of +IE. When it first receives an HTML page, then a PDF from the same URL, it displays it directly +without launching Acrobat. This happens frequently during the development stage: on the least +script error, an HTML page is sent, and after correction, the PDF arrives. +3. I try to generate a PDF and IE displays a blank page. What happens?
+First of all, check that you send nothing to the browser after the PDF (not even a space or a +carriage return). You can put an exit statement just after the call to the Output() method to +be sure. ++ +<INPUT TYPE="HIDDEN" NAME="ext" VALUE=".pdf"> + + |
+
+//Determine a temporary file name in the current directory +$file=basename(tempnam(getcwd(),'tmp')); +//Save PDF to file +$pdf->Output($file); +//JavaScript redirection +echo "<HTML><SCRIPT>document.location='getpdf.php?f=$file';</SCRIPT></HTML>"; + + |
+
+<?php +$f=$HTTP_GET_VARS['f']; +//Check file (don't skip it!) +if(substr($f,0,3)!='tmp' or strpos($f,'/') or strpos($f,'\\')) + die('Incorrect file name'); +if(!file_exists($f)) + die('File does not exist'); +//Handle special IE request if needed +if($HTTP_SERVER_VARS['HTTP_USER_AGENT']=='contype') +{ + Header('Content-Type: application/pdf'); + exit; +} +//Output PDF +Header('Content-Type: application/pdf'); +Header('Content-Length: '.filesize($f)); +readfile($f); +//Remove file +unlink($f); +exit; +?> + + |
+
+//Determine a temporary file name in the current directory +$file=basename(tempnam(getcwd(),'tmp')); +rename($file,$file.'.pdf'); +$file.='.pdf'; +//Save PDF to file +$pdf->Output($file); +//JavaScript redirection +echo "<HTML><SCRIPT>document.location='$file';</SCRIPT></HTML>"; + + |
+
+function CleanFiles($dir) +{ + //Delete temporary files + $t=time(); + $h=opendir($dir); + while($file=readdir($h)) + { + if(substr($file,0,3)=='tmp' and substr($file,-4)=='.pdf') + { + $path=$dir.'/'.$file; + if($t-filemtime($path)>3600) + @unlink($path); + } + } + closedir($h); +} + + |
4. I send parameters using the POST method and the values don't appear in the PDF.
+It's a problem affecting some versions of IE (especially the first 5.5). See the previous +question for the ways to work around it. +5. When I use a PHP session, IE doesn't display my PDF any more but asks me to download it.
+It's a problem affecting some versions of IE. To work around it, add the following line before +session_start(): ++ +session_cache_limiter('private'); + + |
6. When I'm on SSL, IE can't open the PDF.
+The problem may be fixed by adding this line:+ +Header('Pragma: public'); + + |
7. When I execute a script I get the message "FPDF error: Don't alter the locale before including class file".
+When the decimal separator is configured as a comma before including a file, there is a +bug in some PHP versions and decimal +numbers get truncated. Therefore you shouldn't make a call to setlocale() before including the class. +On Unix, you shouldn't set the LC_ALL environment variable neither, for it is equivalent to a +setlocale() call. +8. I try to put a PNG and Acrobat says "There was an error processing a page. A drawing error occurred".
+Acrobat 5 has a bug and is unable to display transparent monochrome images (i.e. with 1 bit per +pixel). Remove transparency or save your image in 16 colors (4 bits per pixel) or more. +9. I encounter the following error when I try to generate a PDF: Warning: Cannot add header information - headers already sent by (output started at script.php:X)
+You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return, +neither before nor after. The script outputs something at line X. +10. I try to display a variable in the Header method but nothing prints.
+You have to use the global keyword, for instance: +
+
+function Header() +{ + global $title; + + $this->SetFont('Arial','B',15); + $this->Cell(0,10,$title,1,1,'C'); +} + + |
11. I defined the Header and Footer methods in my PDF class but nothing appears.
+You have to create an object from the PDF class, not FPDF:+ +$pdf=new PDF(); + + |
12. I can't make line breaks work. I put \n in the string printed by MultiCell but it doesn't work.
+You have to enclose your string with double quotes, not single ones. +13. I try to put the euro symbol but it doesn't work.
+The standard fonts have the euro character at position 128. You can define a constant like this +for convenience: ++ +define('EURO',chr(128)); + + |
14. I draw a frame with very precise dimensions, but when printed I notice some differences.
+To respect dimensions, you have to uncheck the option "Fit to page" in the print dialog box. +15. I'd like to use the whole surface of the page, but when printed I always have some margins. How can I get rid of them?
+All printers have physical margins (different depending on the model), it is therefore impossible +to remove them and print on the totality of the paper. +16. What's the limit of the file sizes I can generate with FPDF?
+There is no particular limit. There are some constraints however: +17. Can I modify a PDF with FPDF?
+No. +18. I'd like to make a search engine in PHP and index PDF files. Can I do it with FPDF?
+No. But a GPL C utility does exist, pdftotext, which is able to extract the textual content from +a PDF. It is provided with the Xpdf package:19. Can I convert an HTML page to PDF with FPDF?
+No. But a GPL C utility does exist, htmldoc, which allows to do it and gives good results:20. Can I concatenate PDF files with FPDF?
+No. But a free C utility exists to perform this task:
+
+class PDF extends FPDF +{ +var $col=0; + +function SetCol($col) +{ + //Move position to a column + $this->col=$col; + $x=10+$col*65; + $this->SetLeftMargin($x); + $this->SetX($x); +} + +function AcceptPageBreak() +{ + if($this->col<2) + { + //Go to next column + $this->SetCol($this->col+1); + $this->SetY(10); + return false; + } + else + { + //Go back to first column and issue page break + $this->SetCol(0); + return true; + } +} +} + +$pdf=new PDF(); +$pdf->Open(); +$pdf->AddPage(); +$pdf->SetFont('Arial','',12); +for($i=1;$i<=300;$i++) + $pdf->Cell(0,5,"Line $i",0,1); +$pdf->Output(); + + |
+Font family. The name can be chosen arbitrarily. If it is a standard family name, it will +override the corresponding font. ++style +
+Font style. Possible values are (case insensitive): ++file ++
+The default value is regular. +- empty string: regular +
- B: bold +
- I: italic +
- BI or IB: bold italic +
+The font definition file. ++
+By default, the name is built from the family and style, in lower case with no space. +
+ +$pdf->AddFont('Comic','I'); + + |
+ +$pdf->AddFont('Comic','I','comici.php'); + + |
+Page orientation. Possible values are (case insensitive): +++
+The default value is the one passed to the constructor. +- P or Portrait +
- L or Landscape +
+The alias. Default value: {nb}. ++
+
+class PDF extends FPDF +{ +function Footer() +{ + //Go to 1.5 cm from bottom + $this->SetY(-15); + //Select Arial italic 8 + $this->SetFont('Arial','I',8); + //Print current and total page numbers + $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); +} +} + +$pdf=new PDF(); +$pdf->AliasNbPages(); + + |
+Cell width. If 0, the cell extends up to the right margin. ++h +
+Cell height. +Default value: 0. ++txt +
+String to print. +Default value: empty string. ++border +
+Indicates if borders must be drawn around the cell. The value can be either a number: ++ln ++
+or a string containing some or all of the following characters (in any order): +- 0: no border +
- 1: frame +
+
+Default value: 0. +- L: left +
- T: top +
- R: right +
- B: bottom +
+Indicates where the current position should go after the call. Possible values are: ++align ++
+Putting 1 is equivalent to putting 0 and calling Ln() just after. +Default value: 0. +- 0: to the right +
- 1: to the beginning of the next line +
- 2: below +
+Allows to center or align the text. Possible values are: ++fill ++
+- L or empty string: left align (default value) +
- C: center +
- R: right align +
+Indicates if the cell background must be painted (1) or transparent (0). +Default value: 0. ++link +
+URL or identifier returned by AddLink(). ++
+
+//Set font +$pdf->SetFont('Arial','B',16); +//Move to 8 cm to the right +$pdf->Cell(80); +//Centered text in a framed 20*10 mm cell and line break +$pdf->Cell(20,10,'Title',1,1,'C'); + + |
+The error message. ++ +
+
+class PDF extends FPDF +{ +function Footer() +{ + //Go to 1.5 cm from bottom + $this->SetY(-15); + //Select Arial italic 8 + $this->SetFont('Arial','I',8); + //Print centered page number + $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C'); +} +} + + |
+Default page orientation. Possible values are (case insensitive): ++unit ++
+Default value is P. +- P or Portrait +
- L or Landscape +
+User measure unit. Possible values are: ++format ++
+A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This +is a very common unit in typography; font sizes are expressed in that unit. +- pt: point +
- mm: millimeter +
- cm: centimeter +
- in: inch +
+
+Default value is mm. +
+The format used for pages. It can be either one of the following values (case insensitive): ++ ++
+or a custom format in the form of a two-element array containing the width and the height +(expressed in the unit given by unit). +- A3 +
- A4 +
- A5 +
- Letter +
- Legal +
+The string whose length is to be computed. ++ +
+
+class PDF extends FPDF +{ +function Header() +{ + //Select Arial bold 15 + $this->SetFont('Arial','B',15); + //Move to the right + $this->Cell(80); + //Framed title + $this->Cell(30,10,'Title',1,0,'C'); + //Line break + $this->Ln(20); +} +} + + |
+Name of the file containing the image. ++x +
+Abscissa of the upper-left corner. ++y +
+Ordinate of the upper-left corner. ++w +
+Width of the image in the page. If not specified or equal to zero, it is automatically +calculated. ++h +
+Height of the image in the page. If not specified or equal to zero, it is automatically +calculated. ++type +
+Image format. Possible values are (case insensitive): JPG, JPEG, PNG. +If not specified, the type is inferred from the file extension. ++link +
+URL or identifier returned by AddLink(). ++
+Abscissa of first point. ++y1 +
+Ordinate of first point. ++x2 +
+Abscissa of second point. ++y2 +
+Ordinate of second point. ++
+Abscissa of the upper-left corner of the rectangle. ++y +
+Ordinate of the upper-left corner of the rectangle. ++w +
+Width of the rectangle. ++h +
+Height of the rectangle. ++link +
+URL or identifier returned by AddLink(). ++
+The height of the break. ++
+By default, the value equals the height of the last printed cell. +
+Width of cells. If 0, they extend up to the right margin of the page. ++h +
+Height of cells. ++txt +
+String to print. ++border +
+Indicates if borders must be drawn around the cell block. The value can be either a number: ++align ++
+or a string containing some or all of the following characters (in any order): +- 0: no border +
- 1: frame +
+
+Default value: 0. +- L: left +
- T: top +
- R: right +
- B: bottom +
+Sets the text alignment. Possible values are: ++fill ++
+- L: left alignment +
- C: center +
- R: right alignment +
- J: justification (default value) +
+Indicates if the cell background must be painted (1) or transparent (0). +Default value: 0. ++
+The name of the file. If not given, the document will be sent to the browser +(destination I) with the name doc.pdf. ++dest +
+Destination where to send the document. It can take one of the following values: +++
+If the parameter is not specified but a name is given, destination is F. If no +parameter is specified at all, destination is I.- I: send the file inline to the browser. The plug-in is used if available. +The name given by name is used when one selects the "Save as" option on the +link generating the PDF. +
- D: send to the browser and force a file download with the name given by +name. +
- F: save to a local file with the name given by name. +
- S: return the document as a string. name is ignored. +
+
+Note: for compatibility with previous versions, a boolean value is also accepted +(false for F and true for D). +
+Abscissa of upper-left corner. ++y +
+Ordinate of upper-left corner. ++w +
+Width. ++h +
+Height. ++style +
+Style of rendering. Possible values are: +++
+- D or empty string: draw. This is the default value. +
- F: fill +
- DF or FD: draw and fill +
+The name of the author. ++
+Boolean indicating if mode should be on or off. ++margin +
+Distance from the bottom of the page. ++
+Boolean indicating if compression must be enabled. ++ +
+The name of the creator. ++
+The zoom to use. It can be one of the following string values: ++layout ++
+or a number indicating the zooming factor to use. +- fullpage: displays the entire page on screen +
- fullwidth: uses maximum width of window +
- real: uses real size (equivalent to 100% zoom) +
- default: uses viewer default mode +
+The page layout. Possible values are: ++ ++
+Default value is continuous. +- single: displays one page at once +
- continuous: displays pages continuously +
- two: displays two pages on two columns +
- default: uses viewer default mode +
+If g et b are given, red component; if not, indicates the gray level. +Value between 0 and 255. ++g +
+Green component (between 0 and 255). ++b +
+Blue component (between 0 and 255). ++
+If g and b are given, red component; if not, indicates the gray level. +Value between 0 and 255. ++g +
+Green component (between 0 and 255). ++b +
+Blue component (between 0 and 255). ++
+
+define('FPDF_FONTPATH','/home/www/font/'); +require('fpdf.php'); + + |
+Family font. It can be either a name defined by AddFont() or one of the standard families (case +insensitive): ++style ++
+It is also possible to pass an empty string. In that case, the current family is retained. +- Courier (fixed-width) +
- Helvetica or Arial (synonymous; sans serif) +
- Times (serif) +
- Symbol (symbolic) +
- ZapfDingbats (symbolic) +
+Font style. Possible values are (case insensitive): ++size ++
+or any combination. The default value is regular. +Bold and italic styles do not apply to Symbol and ZapfDingbats. +- empty string: regular +
- B: bold +
- I: italic +
- U: underline +
+Font size in points. ++
+The default value is the current size. If no size has been specified since the beginning of +the document, the value taken is 12. +
+
+//Times regular 12 +$pdf->SetFont('Times'); +//Arial bold 14 +$pdf->SetFont('Arial','B',14); +//Removes bold +$pdf->SetFont(''); +//Times bold, italic and underlined 14 +$pdf->SetFont('Times','BIU'); + + |
+The size (in points). ++
+The list of keywords. ++
+The margin. ++
+The width. ++
+The link identifier returned by AddLink(). ++y +
+Ordinate of target position; -1 indicates the current position. +The default value is 0 (top of page). ++page +
+Number of target page; -1 indicates the current page. This is the default value. ++
+Left margin. ++top +
+Top margin. ++right +
+Right margin. Default value is the left one. ++
+The margin. ++
+The subject. ++
+If g et b are given, red component; if not, indicates the gray level. +Value between 0 and 255. ++g +
+Green component (between 0 and 255). ++b +
+Blue component (between 0 and 255). ++
+The title. ++
+The margin. ++
+The value of the abscissa. ++
+The value of the abscissa. ++y +
+The value of the ordinate. ++
+The value of the ordinate. ++
+Abscissa of the origin. ++y +
+Ordinate of the origin. ++txt +
+String to print. ++
+Line height. ++txt +
+String to print. ++link +
+URL or identifier returned by AddLink(). ++
+
+//Begin with regular font +$pdf->SetFont('Arial','',14); +$pdf->Write(5,'Visit '); +//Then put a blue underlined link +$pdf->SetTextColor(0,0,255); +$pdf->SetFont('','U'); +$pdf->Write(5,'www.fpdf.org','http://www.fpdf.org'); + + |
+- Image() now displays the image at 72 dpi if no dimension is given.+v1.51 (2002-08-03) +
+- Output() takes a string as second parameter to indicate destination.
+- Open() is now called automatically by AddPage().
+- Inserting remote JPEG images doesn't generate an error any longer.
+- Decimal separator is forced to dot in the constructor.
+- Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).
+- The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.
+- No more error message about already sent headers when outputting the PDF to the standard output from the command line.
+- The underlining was going too far for text containing characters \, ( or ).
+- $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.
+
+- Type1 font support.+v1.5 (2002-05-28) +
+- Added Baltic encoding.
+- The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5 :
* The line thickness was too large when printed under Windows 98 SE and ME.
* TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.
+- It is no longer necessary to set the decimal separator as dot to produce valid documents.
+- The clickable area in a cell was always on the left independently from the text alignment.
+- JPEG images in CMYK mode appeared in inverted colors.
+- Transparent PNG images in grayscale or true color mode were incorrectly handled.
+- Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.
+
+- TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).+v1.41 (2002-03-13) +
+- Added Write() method.
+- Added underlined style.
+- Internal and external link support (AddLink(), SetLink(), Link()).
+- Added right margin management and methods SetRightMargin(), SetTopMargin().
+- Modification of SetDisplayMode() to select page layout.
+- The border parameter of MultiCell() now lets choose borders to draw as Cell().
+- When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.
+
+- Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).+v1.4 (2002-03-02) +
+
+- PHP3 is no longer supported.+v1.31 (2002-01-12) +
+- Page compression (SetCompression()).
+- Choice of page format and possibility to change orientation inside document.
+- Added AcceptPageBreak() method.
+- Ability to print the total number of pages (AliasNbPages()).
+- Choice of cell borders to draw.
+- New mode for Cell(): the current position can now move under the cell.
+- Ability to include an image by specifying height only (width is calculated automatically).
+- Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.
+
+- Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.+v1.3 (2001-12-03) +
+- Removed Expires HTTP header (gives trouble in some situations).
+- Added Content-disposition HTTP header (seems to help in some situations).
+
+- Line break and text justification support (MultiCell()).+v1.2 (2001-11-11) +
+- Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.
+- A cell whose width is declared null extends up to the right margin of the page.
+- Line width is now retained from page to page and defaults to 0.2 mm.
+- Added SetXY() method.
+- Fixed a passing by reference done in a deprecated manner for PHP4.
+
+- Added font metric files and GetStringWidth() method.+v1.11 (2001-10-20) +
+- Centering and right-aligning text in cells.
+- Display mode control (SetDisplayMode()).
+- Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).
+- Possibility to force PDF download by browser.
+- Added SetX() and GetX() methods.
+- During automatic page break, current abscissa is now retained.
+
+- PNG support doesn't require PHP4/Zlib any more. Data are now put directly into PDF without any decompression/recompression stage.+v1.1 (2001-10-07) +
+- Image insertion now works correctly even with magic_quotes_runtime option set to on.
+
+- JPEG and PNG image support.+v1.01 (2001-10-03) +
+
+- Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.+v1.0 (2001-09-17) +
+
+- First version.+ + diff --git a/phpgwapi/inc/fpdf/install.txt b/phpgwapi/inc/fpdf/install.txt new file mode 100755 index 0000000000..e87817a3ed --- /dev/null +++ b/phpgwapi/inc/fpdf/install.txt @@ -0,0 +1,29 @@ +The FPDF library is made up of the following elements: + +- the main file, fpdf.php, which contains the class +- the font metric files (located in the font directory of this archive) + +The metric files are necessary as soon as you want to output text in a document. +They can be accessed from three different locations: + +- the current directory (the one where the running script lies) +- one of the directories defined by the include_path parameter +- the directory defined by the FPDF_FONTPATH constant + +Here is an example for the last case (note the mandatory final slash): + +define('FPDF_FONTPATH','/home/www/font/'); +require('fpdf.php'); + +If the files are not accessible, the SetFont() method will produce the following error: + +FPDF error: Could not include font metric file + +If so, check if you have correctly defined the constant. + +Remarks: + +- You can also define FPDF_FONTPATH directly at the beginning of fpdf.php +- Only the files corresponding to the fonts actually used are necessary + +The tutorials provided in this package are ready to be executed. diff --git a/phpgwapi/inc/fpdf/tutorial/20k_c1.txt b/phpgwapi/inc/fpdf/tutorial/20k_c1.txt new file mode 100755 index 0000000000..6d5b295427 --- /dev/null +++ b/phpgwapi/inc/fpdf/tutorial/20k_c1.txt @@ -0,0 +1,10 @@ +The year 1866 was marked by a bizarre development, an unexplained and downright inexplicable phenomenon that surely no one has forgotten. Without getting into those rumors that upset civilians in the seaports and deranged the public mind even far inland, it must be said that professional seamen were especially alarmed. Traders, shipowners, captains of vessels, skippers, and master mariners from Europe and America, naval officers from every country, and at their heels the various national governments on these two continents, were all extremely disturbed by the business. +In essence, over a period of time several ships had encountered "an enormous thing" at sea, a long spindle-shaped object, sometimes giving off a phosphorescent glow, infinitely bigger and faster than any whale. +The relevant data on this apparition, as recorded in various logbooks, agreed pretty closely as to the structure of the object or creature in question, its unprecedented speed of movement, its startling locomotive power, and the unique vitality with which it seemed to be gifted. If it was a cetacean, it exceeded in bulk any whale previously classified by science. No naturalist, neither Cuvier nor Lacépède, neither Professor Dumeril nor Professor de Quatrefages, would have accepted the existence of such a monster sight unseen -- specifically, unseen by their own scientific eyes. +Striking an average of observations taken at different times -- rejecting those timid estimates that gave the object a length of 200 feet, and ignoring those exaggerated views that saw it as a mile wide and three long--you could still assert that this phenomenal creature greatly exceeded the dimensions of anything then known to ichthyologists, if it existed at all. +Now then, it did exist, this was an undeniable fact; and since the human mind dotes on objects of wonder, you can understand the worldwide excitement caused by this unearthly apparition. As for relegating it to the realm of fiction, that charge had to be dropped. +In essence, on July 20, 1866, the steamer Governor Higginson, from the Calcutta & Burnach Steam Navigation Co., encountered this moving mass five miles off the eastern shores of Australia. Captain Baker at first thought he was in the presence of an unknown reef; he was even about to fix its exact position when two waterspouts shot out of this inexplicable object and sprang hissing into the air some 150 feet. So, unless this reef was subject to the intermittent eruptions of a geyser, the Governor Higginson had fair and honest dealings with some aquatic mammal, until then unknown, that could spurt from its blowholes waterspouts mixed with air and steam. +Similar events were likewise observed in Pacific seas, on July 23 of the same year, by the Christopher Columbus from the West India & Pacific Steam Navigation Co. Consequently, this extraordinary cetacean could transfer itself from one locality to another with startling swiftness, since within an interval of just three days, the Governor Higginson and the Christopher Columbus had observed it at two positions on the charts separated by a distance of more than 700 nautical leagues. +Fifteen days later and 2,000 leagues farther, the Helvetia from the Compagnie Nationale and the Shannon from the Royal Mail line, running on opposite tacks in that part of the Atlantic lying between the United States and Europe, respectively signaled each other that the monster had been sighted in latitude 42 degrees 15' north and longitude 60 degrees 35' west of the meridian of Greenwich. From their simultaneous observations, they were able to estimate the mammal's minimum length at more than 350 English feet; this was because both the Shannon and the Helvetia were of smaller dimensions, although each measured 100 meters stem to stern. Now then, the biggest whales, those rorqual whales that frequent the waterways of the Aleutian Islands, have never exceeded a length of 56 meters--if they reach even that. +One after another, reports arrived that would profoundly affect public opinion: new observations taken by the transatlantic liner Pereire, the Inman line's Etna running afoul of the monster, an official report drawn up by officers on the French frigate Normandy, dead-earnest reckonings obtained by the general staff of Commodore Fitz-James aboard the Lord Clyde. In lighthearted countries, people joked about this phenomenon, but such serious, practical countries as England, America, and Germany were deeply concerned. +In every big city the monster was the latest rage; they sang about it in the coffee houses, they ridiculed it in the newspapers, they dramatized it in the theaters. The tabloids found it a fine opportunity for hatching all sorts of hoaxes. In those newspapers short of copy, you saw the reappearance of every gigantic imaginary creature, from "Moby Dick," that dreadful white whale from the High Arctic regions, to the stupendous kraken whose tentacles could entwine a 500-ton craft and drag it into the ocean depths. They even reprinted reports from ancient times: the views of Aristotle and Pliny accepting the existence of such monsters, then the Norwegian stories of Bishop Pontoppidan, the narratives of Paul Egede, and finally the reports of Captain Harrington -- whose good faith is above suspicion--in which he claims he saw, while aboard the Castilian in 1857, one of those enormous serpents that, until then, had frequented only the seas of France's old extremist newspaper, The Constitutionalist. diff --git a/phpgwapi/inc/fpdf/tutorial/20k_c2.txt b/phpgwapi/inc/fpdf/tutorial/20k_c2.txt new file mode 100755 index 0000000000..7b5c565141 --- /dev/null +++ b/phpgwapi/inc/fpdf/tutorial/20k_c2.txt @@ -0,0 +1,23 @@ +During the period in which these developments were occurring, I had returned from a scientific undertaking organized to explore the Nebraska badlands in the United States. In my capacity as Assistant Professor at the Paris Museum of Natural History, I had been attached to this expedition by the French government. After spending six months in Nebraska, I arrived in New York laden with valuable collections near the end of March. My departure for France was set for early May. In the meantime, then, I was busy classifying my mineralogical, botanical, and zoological treasures when that incident took place with the Scotia. +I was perfectly abreast of this question, which was the big news of the day, and how could I not have been? I had read and reread every American and European newspaper without being any farther along. This mystery puzzled me. Finding it impossible to form any views, I drifted from one extreme to the other. Something was out there, that much was certain, and any doubting Thomas was invited to place his finger on the Scotia's wound. +When I arrived in New York, the question was at the boiling point. The hypothesis of a drifting islet or an elusive reef, put forward by people not quite in their right minds, was completely eliminated. And indeed, unless this reef had an engine in its belly, how could it move about with such prodigious speed? +Also discredited was the idea of a floating hull or some other enormous wreckage, and again because of this speed of movement. +So only two possible solutions to the question were left, creating two very distinct groups of supporters: on one side, those favoring a monster of colossal strength; on the other, those favoring an "underwater boat" of tremendous motor power. +Now then, although the latter hypothesis was completely admissible, it couldn't stand up to inquiries conducted in both the New World and the Old. That a private individual had such a mechanism at his disposal was less than probable. Where and when had he built it, and how could he have built it in secret? +Only some government could own such an engine of destruction, and in these disaster-filled times, when men tax their ingenuity to build increasingly powerful aggressive weapons, it was possible that, unknown to the rest of the world, some nation could have been testing such a fearsome machine. The Chassepot rifle led to the torpedo, and the torpedo has led to this underwater battering ram, which in turn will lead to the world putting its foot down. At least I hope it will. +But this hypothesis of a war machine collapsed in the face of formal denials from the various governments. Since the public interest was at stake and transoceanic travel was suffering, the sincerity of these governments could not be doubted. Besides, how could the assembly of this underwater boat have escaped public notice? Keeping a secret under such circumstances would be difficult enough for an individual, and certainly impossible for a nation whose every move is under constant surveillance by rival powers. +So, after inquiries conducted in England, France, Russia, Prussia, Spain, Italy, America, and even Turkey, the hypothesis of an underwater Monitor was ultimately rejected. +After I arrived in New York, several people did me the honor of consulting me on the phenomenon in question. In France I had published a two-volume work, in quarto, entitled The Mysteries of the Great Ocean Depths. Well received in scholarly circles, this book had established me as a specialist in this pretty obscure field of natural history. My views were in demand. As long as I could deny the reality of the business, I confined myself to a flat "no comment." But soon, pinned to the wall, I had to explain myself straight out. And in this vein, "the honorable Pierre Aronnax, Professor at the Paris Museum," was summoned by The New York Herald to formulate his views no matter what. +I complied. Since I could no longer hold my tongue, I let it wag. I discussed the question in its every aspect, both political and scientific, and this is an excerpt from the well-padded article I published in the issue of April 30. + +"Therefore," I wrote, "after examining these different hypotheses one by one, we are forced, every other supposition having been refuted, to accept the existence of an extremely powerful marine animal. +"The deepest parts of the ocean are totally unknown to us. No soundings have been able to reach them. What goes on in those distant depths? What creatures inhabit, or could inhabit, those regions twelve or fifteen miles beneath the surface of the water? What is the constitution of these animals? It's almost beyond conjecture. +"However, the solution to this problem submitted to me can take the form of a choice between two alternatives. +"Either we know every variety of creature populating our planet, or we do not. +"If we do not know every one of them, if nature still keeps ichthyological secrets from us, nothing is more admissible than to accept the existence of fish or cetaceans of new species or even new genera, animals with a basically 'cast-iron' constitution that inhabit strata beyond the reach of our soundings, and which some development or other, an urge or a whim if you prefer, can bring to the upper level of the ocean for long intervals. +"If, on the other hand, we do know every living species, we must look for the animal in question among those marine creatures already cataloged, and in this event I would be inclined to accept the existence of a giant narwhale. +"The common narwhale, or sea unicorn, often reaches a length of sixty feet. Increase its dimensions fivefold or even tenfold, then give this cetacean a strength in proportion to its size while enlarging its offensive weapons, and you have the animal we're looking for. It would have the proportions determined by the officers of the Shannon, the instrument needed to perforate the Scotia, and the power to pierce a steamer's hull. +"In essence, the narwhale is armed with a sort of ivory sword, or lance, as certain naturalists have expressed it. It's a king-sized tooth as hard as steel. Some of these teeth have been found buried in the bodies of baleen whales, which the narwhale attacks with invariable success. Others have been wrenched, not without difficulty, from the undersides of vessels that narwhales have pierced clean through, as a gimlet pierces a wine barrel. The museum at the Faculty of Medicine in Paris owns one of these tusks with a length of 2.25 meters and a width at its base of forty-eight centimeters! +"All right then! Imagine this weapon to be ten times stronger and the animal ten times more powerful, launch it at a speed of twenty miles per hour, multiply its mass times its velocity, and you get just the collision we need to cause the specified catastrophe. +"So, until information becomes more abundant, I plump for a sea unicorn of colossal dimensions, no longer armed with a mere lance but with an actual spur, like ironclad frigates or those warships called 'rams,' whose mass and motor power it would possess simultaneously. +"This inexplicable phenomenon is thus explained away--unless it's something else entirely, which, despite everything that has been sighted, studied, explored and experienced, is still possible!" diff --git a/phpgwapi/inc/fpdf/tutorial/calligra.afm b/phpgwapi/inc/fpdf/tutorial/calligra.afm new file mode 100755 index 0000000000..67ac4e62df --- /dev/null +++ b/phpgwapi/inc/fpdf/tutorial/calligra.afm @@ -0,0 +1,275 @@ +StartFontMetrics 4.1 +FontName Calligrapher-Regular +FullName Calligrapher Regular +Notice Generated by Fontographer 3.5 +EncodingScheme FontSpecific +FamilyName Calligrapher +Weight Regular +Version (Altsys Fontographer 3.5 5/26/92) +Characters 215 +ItalicAngle 0.0 +Ascender 899 +Descender -234 +UnderlineThickness 20 +UnderlinePosition -200 +IsFixedPitch false +FontBBox -50 -234 1328 899 +StartCharMetrics 256 +C 0 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 1 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 2 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 3 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 4 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 5 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 6 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 7 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 8 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 9 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 10 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 11 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 12 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 13 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 14 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 15 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 16 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 17 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 18 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 19 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 20 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 21 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 22 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 23 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 24 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 25 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 26 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 27 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 28 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 29 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 30 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 31 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 32 ; WX 282 ; N space ; B 67 -16 251 718 ; +C 33 ; WX 324 ; N exclam ; B 67 -16 251 718 ; +C 34 ; WX 405 ; N quotedbl ; B 60 460 353 718 ; +C 35 ; WX 584 ; N numbersign ; B 35 0 549 701 ; +C 36 ; WX 632 ; N dollar ; B 32 -126 595 814 ; +C 37 ; WX 980 ; N percent ; B 35 -16 945 703 ; +C 38 ; WX 776 ; N ampersand ; B 41 -17 811 670 ; +C 39 ; WX 259 ; N quotesingle ; B 72 460 206 718 ; +C 40 ; WX 299 ; N parenleft ; B 57 -119 299 785 ; +C 41 ; WX 299 ; N parenright ; B 0 -119 242 785 ; +C 42 ; WX 377 ; N asterisk ; B 35 407 342 714 ; +C 43 ; WX 600 ; N plus ; B 47 0 553 506 ; +C 44 ; WX 259 ; N comma ; B 35 -67 224 162 ; +C 45 ; WX 432 ; N hyphen ; B 28 249 404 377 ; +C 46 ; WX 254 ; N period ; B 43 -16 227 162 ; +C 47 ; WX 597 ; N slash ; B 7 -14 591 714 ; +C 48 ; WX 529 ; N zero ; B 21 -18 508 583 ; +C 49 ; WX 298 ; N one ; B 8 -15 233 582 ; +C 50 ; WX 451 ; N two ; B 17 -8 430 588 ; +C 51 ; WX 359 ; N three ; B 11 -54 337 582 ; +C 52 ; WX 525 ; N four ; B 18 -20 519 602 ; +C 53 ; WX 423 ; N five ; B 10 -55 420 582 ; +C 54 ; WX 464 ; N six ; B 23 -14 447 589 ; +C 55 ; WX 417 ; N seven ; B 8 -18 415 589 ; +C 56 ; WX 457 ; N eight ; B 19 -16 432 583 ; +C 57 ; WX 479 ; N nine ; B 26 -16 450 588 ; +C 58 ; WX 275 ; N colon ; B 59 -16 242 491 ; +C 59 ; WX 282 ; N semicolon ; B 54 -67 245 491 ; +C 60 ; WX 600 ; N less ; B 47 -8 553 514 ; +C 61 ; WX 600 ; N equal ; B 47 98 553 408 ; +C 62 ; WX 600 ; N greater ; B 47 -8 553 514 ; +C 63 ; WX 501 ; N question ; B 21 -16 473 721 ; +C 64 ; WX 800 ; N at ; B 29 -12 771 730 ; +C 65 ; WX 743 ; N A ; B -23 -14 754 723 ; +C 66 ; WX 636 ; N B ; B -42 -7 608 706 ; +C 67 ; WX 598 ; N C ; B 27 -12 572 712 ; +C 68 ; WX 712 ; N D ; B -42 -11 684 705 ; +C 69 ; WX 608 ; N E ; B -21 0 608 708 ; +C 70 ; WX 562 ; N F ; B -21 -18 584 716 ; +C 71 ; WX 680 ; N G ; B 29 -8 668 714 ; +C 72 ; WX 756 ; N H ; B 70 -17 777 728 ; +C 73 ; WX 308 ; N I ; B 14 -15 238 718 ; +C 74 ; WX 314 ; N J ; B 7 -223 244 727 ; +C 75 ; WX 676 ; N K ; B 14 -16 683 725 ; +C 76 ; WX 552 ; N L ; B 14 -8 580 713 ; +C 77 ; WX 1041 ; N M ; B 42 -17 1017 739 ; +C 78 ; WX 817 ; N N ; B -42 -17 747 736 ; +C 79 ; WX 729 ; N O ; B 32 -16 698 709 ; +C 80 ; WX 569 ; N P ; B -35 -15 570 716 ; +C 81 ; WX 698 ; N Q ; B 27 -201 1328 715 ; +C 82 ; WX 674 ; N R ; B -35 -20 696 712 ; +C 83 ; WX 618 ; N S ; B 31 -16 589 709 ; +C 84 ; WX 673 ; N T ; B -21 -20 702 714 ; +C 85 ; WX 805 ; N U ; B 0 -19 804 722 ; +C 86 ; WX 753 ; N V ; B -28 -20 788 729 ; +C 87 ; WX 1238 ; N W ; B -28 -17 1273 736 ; +C 88 ; WX 716 ; N X ; B 7 -38 709 731 ; +C 89 ; WX 754 ; N Y ; B -35 -17 789 747 ; +C 90 ; WX 599 ; N Z ; B 30 -5 584 748 ; +C 91 ; WX 315 ; N bracketleft ; B 93 -124 322 718 ; +C 92 ; WX 463 ; N backslash ; B -21 -18 484 736 ; +C 93 ; WX 315 ; N bracketright ; B -7 -124 222 718 ; +C 94 ; WX 600 ; N asciicircum ; B 63 266 537 658 ; +C 95 ; WX 547 ; N underscore ; B -7 -198 554 -163 ; +C 96 ; WX 278 ; N grave ; B -1 541 214 693 ; +C 97 ; WX 581 ; N a ; B 21 -16 581 494 ; +C 98 ; WX 564 ; N b ; B -24 -17 543 793 ; +C 99 ; WX 440 ; N c ; B 21 -17 422 490 ; +C 100 ; WX 571 ; N d ; B 0 -15 550 659 ; +C 101 ; WX 450 ; N e ; B 28 -23 428 493 ; +C 102 ; WX 347 ; N f ; B -35 -14 474 785 ; +C 103 ; WX 628 ; N g ; B 19 -219 612 496 ; +C 104 ; WX 611 ; N h ; B -29 -18 569 785 ; +C 105 ; WX 283 ; N i ; B -14 -15 241 679 ; +C 106 ; WX 283 ; N j ; B -14 -234 241 679 ; +C 107 ; WX 560 ; N k ; B -24 -15 582 789 ; +C 108 ; WX 252 ; N l ; B -28 -15 210 789 ; +C 109 ; WX 976 ; N m ; B -21 -16 927 494 ; +C 110 ; WX 595 ; N n ; B -28 -15 574 493 ; +C 111 ; WX 508 ; N o ; B 27 -17 485 490 ; +C 112 ; WX 549 ; N p ; B -28 -216 526 496 ; +C 113 ; WX 540 ; N q ; B 28 -219 491 493 ; +C 114 ; WX 395 ; N r ; B -21 -19 430 492 ; +C 115 ; WX 441 ; N s ; B 34 -15 413 493 ; +C 116 ; WX 307 ; N t ; B -21 -16 378 621 ; +C 117 ; WX 614 ; N u ; B -14 -18 558 501 ; +C 118 ; WX 556 ; N v ; B -28 -20 569 483 ; +C 119 ; WX 915 ; N w ; B -28 -17 928 495 ; +C 120 ; WX 559 ; N x ; B 14 -17 546 500 ; +C 121 ; WX 597 ; N y ; B -21 -227 541 500 ; +C 122 ; WX 452 ; N z ; B 28 -5 442 515 ; +C 123 ; WX 315 ; N braceleft ; B 6 -118 309 718 ; +C 124 ; WX 222 ; N bar ; B 63 -18 159 730 ; +C 125 ; WX 315 ; N braceright ; B 6 -118 309 718 ; +C 126 ; WX 600 ; N asciitilde ; B 69 166 531 340 ; +C 127 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 128 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 129 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 130 ; WX 0 ; N quotesinglbase ; B -23 -14 754 877 ; +C 131 ; WX 0 ; N florin ; B 0 -19 804 854 ; +C 132 ; WX 0 ; N quotedblbase ; B -23 -14 754 877 ; +C 133 ; WX 780 ; N ellipsis ; B 43 -16 747 162 ; +C 134 ; WX 0 ; N dagger ; B 27 -122 437 592 ; +C 135 ; WX 0 ; N daggerdbl ; B 43 278 227 456 ; +C 136 ; WX 278 ; N circumflex ; B -14 557 292 677 ; +C 137 ; WX 0 ; N perthousand ; B -23 -14 754 877 ; +C 138 ; WX 0 ; N Scaron ; B 0 0 0 100 ; +C 139 ; WX 0 ; N guilsinglleft ; B 43 278 227 456 ; +C 140 ; WX 1064 ; N OE ; B 32 -16 1055 709 ; +C 141 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 142 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 143 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 144 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 145 ; WX 259 ; N quoteleft ; B 35 489 224 717 ; +C 146 ; WX 259 ; N quoteright ; B 35 489 224 717 ; +C 147 ; WX 470 ; N quotedblleft ; B 35 489 443 717 ; +C 148 ; WX 470 ; N quotedblright ; B 35 487 443 717 ; +C 149 ; WX 500 ; N bullet ; B 70 179 430 539 ; +C 150 ; WX 300 ; N endash ; B 0 245 300 350 ; +C 151 ; WX 600 ; N emdash ; B 0 245 600 350 ; +C 152 ; WX 278 ; N tilde ; B -44 563 326 689 ; +C 153 ; WX 990 ; N trademark ; B 62 306 928 718 ; +C 154 ; WX 0 ; N scaron ; B 0 0 0 100 ; +C 155 ; WX 0 ; N guilsinglright ; B 43 278 227 456 ; +C 156 ; WX 790 ; N oe ; B 27 -23 764 493 ; +C 157 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 158 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C 159 ; WX 754 ; N Ydieresis ; B -35 -17 789 882 ; +C 160 ; WX 282 ; N nbspace ; B -23 -14 754 893 ; +C 161 ; WX 324 ; N exclamdown ; B 69 -203 253 531 ; +C 162 ; WX 450 ; N cent ; B 27 -122 437 592 ; +C 163 ; WX 640 ; N sterling ; B 0 -9 619 716 ; +C 164 ; WX 518 ; N currency ; B 3 72 515 586 ; +C 165 ; WX 603 ; N yen ; B -28 -65 631 747 ; +C 166 ; WX 0 ; N brokenbar ; B 0 0 0 100 ; +C 167 ; WX 519 ; N section ; B -50 -216 524 762 ; +C 168 ; WX 254 ; N dieresis ; B -20 554 308 682 ; +C 169 ; WX 800 ; N copyright ; B 29 -12 771 730 ; +C 170 ; WX 349 ; N ordfeminine ; B 13 385 349 717 ; +C 171 ; WX 0 ; N guillemotleft ; B 43 -16 747 162 ; +C 172 ; WX 0 ; N logicalnot ; B 30 0 730 700 ; +C 173 ; WX 432 ; N hyphen ; B 28 249 404 377 ; +C 174 ; WX 800 ; N registered ; B 29 -12 771 730 ; +C 175 ; WX 278 ; N macron ; B -47 584 325 665 ; +C 176 ; WX 0 ; N degree ; B 27 -122 437 592 ; +C 177 ; WX 0 ; N plusminus ; B 29 -8 668 877 ; +C 178 ; WX 0 ; N twosuperior ; B 0 0 0 100 ; +C 179 ; WX 0 ; N threesuperior ; B 0 0 0 100 ; +C 180 ; WX 278 ; N acute ; B 49 536 279 693 ; +C 181 ; WX 614 ; N mu ; B -14 -231 558 501 ; +C 182 ; WX 0 ; N paragraph ; B -35 -15 668 785 ; +C 183 ; WX 254 ; N periodcentered ; B 43 278 227 456 ; +C 184 ; WX 278 ; N cedilla ; B -8 -216 231 6 ; +C 185 ; WX 0 ; N onesuperior ; B 0 0 0 100 ; +C 186 ; WX 305 ; N ordmasculine ; B 16 373 291 702 ; +C 187 ; WX 0 ; N guillemotright ; B 43 -16 747 162 ; +C 188 ; WX 0 ; N onequarter ; B 0 0 0 100 ; +C 189 ; WX 0 ; N onehalf ; B 0 0 0 100 ; +C 190 ; WX 0 ; N threequarters ; B 0 0 0 100 ; +C 191 ; WX 501 ; N questiondown ; B 15 -196 467 541 ; +C 192 ; WX 743 ; N Agrave ; B -23 -14 754 893 ; +C 193 ; WX 743 ; N Aacute ; B -23 -14 754 893 ; +C 194 ; WX 743 ; N Acircumflex ; B -23 -14 754 877 ; +C 195 ; WX 743 ; N Atilde ; B -23 -14 754 889 ; +C 196 ; WX 743 ; N Adieresis ; B -23 -14 754 882 ; +C 197 ; WX 743 ; N Aring ; B -23 -14 754 899 ; +C 198 ; WX 1060 ; N AE ; B -29 -14 1053 708 ; +C 199 ; WX 598 ; N Ccedilla ; B 27 -183 572 712 ; +C 200 ; WX 608 ; N Egrave ; B -21 0 608 893 ; +C 201 ; WX 608 ; N Eacute ; B -21 0 608 893 ; +C 202 ; WX 608 ; N Ecircumflex ; B -21 0 608 877 ; +C 203 ; WX 608 ; N Edieresis ; B -21 0 608 882 ; +C 204 ; WX 308 ; N Igrave ; B 14 -15 264 893 ; +C 205 ; WX 308 ; N Iacute ; B 14 -15 274 893 ; +C 206 ; WX 308 ; N Icircumflex ; B 1 -15 307 877 ; +C 207 ; WX 308 ; N Idieresis ; B -15 -15 313 882 ; +C 208 ; WX 0 ; N Eth ; B 0 0 0 100 ; +C 209 ; WX 817 ; N Ntilde ; B -42 -17 747 889 ; +C 210 ; WX 729 ; N Ograve ; B 32 -16 698 893 ; +C 211 ; WX 729 ; N Oacute ; B 32 -16 698 893 ; +C 212 ; WX 729 ; N Ocircumflex ; B 32 -16 698 877 ; +C 213 ; WX 729 ; N Otilde ; B 32 -16 698 889 ; +C 214 ; WX 729 ; N Odieresis ; B 32 -16 698 882 ; +C 215 ; WX 0 ; N multiply ; B 0 0 0 100 ; +C 216 ; WX 729 ; N Oslash ; B 14 -24 724 709 ; +C 217 ; WX 805 ; N Ugrave ; B 0 -19 804 893 ; +C 218 ; WX 805 ; N Uacute ; B 0 -19 804 893 ; +C 219 ; WX 805 ; N Ucircumflex ; B 0 -19 804 877 ; +C 220 ; WX 805 ; N Udieresis ; B 0 -19 804 882 ; +C 221 ; WX 0 ; N _235 ; B 0 0 0 100 ; +C 222 ; WX 0 ; N Thorn ; B 0 0 0 100 ; +C 223 ; WX 688 ; N germandbls ; B -35 -15 668 785 ; +C 224 ; WX 581 ; N agrave ; B 21 -16 581 693 ; +C 225 ; WX 581 ; N aacute ; B 21 -16 581 693 ; +C 226 ; WX 581 ; N acircumflex ; B 21 -16 581 677 ; +C 227 ; WX 581 ; N atilde ; B 21 -16 581 689 ; +C 228 ; WX 581 ; N adieresis ; B 21 -16 581 682 ; +C 229 ; WX 581 ; N aring ; B 21 -16 581 734 ; +C 230 ; WX 792 ; N ae ; B 21 -23 773 494 ; +C 231 ; WX 440 ; N ccedilla ; B 21 -183 422 490 ; +C 232 ; WX 450 ; N egrave ; B 28 -23 428 693 ; +C 233 ; WX 450 ; N eacute ; B 28 -23 428 693 ; +C 234 ; WX 450 ; N ecircumflex ; B 28 -23 432 677 ; +C 235 ; WX 450 ; N edieresis ; B 28 -23 428 682 ; +C 236 ; WX 283 ; N igrave ; B -14 -15 244 693 ; +C 237 ; WX 283 ; N iacute ; B -14 -15 269 693 ; +C 238 ; WX 283 ; N icircumflex ; B -14 -15 297 677 ; +C 239 ; WX 283 ; N idieresis ; B -25 -15 303 682 ; +C 240 ; WX 0 ; N Yacute ; B 0 0 0 100 ; +C 241 ; WX 595 ; N ntilde ; B -28 -15 574 689 ; +C 242 ; WX 508 ; N ograve ; B 27 -17 485 693 ; +C 243 ; WX 508 ; N oacute ; B 27 -17 485 693 ; +C 244 ; WX 508 ; N ocircumflex ; B 27 -17 485 677 ; +C 245 ; WX 508 ; N otilde ; B 27 -17 485 689 ; +C 246 ; WX 508 ; N odieresis ; B 27 -17 485 682 ; +C 247 ; WX 0 ; N divide ; B 35 0 760 727 ; +C 248 ; WX 508 ; N oslash ; B -8 -54 496 589 ; +C 249 ; WX 614 ; N ugrave ; B -14 -18 558 693 ; +C 250 ; WX 614 ; N uacute ; B -14 -18 558 693 ; +C 251 ; WX 614 ; N ucircumflex ; B -14 -18 558 677 ; +C 252 ; WX 614 ; N udieresis ; B -14 -18 558 682 ; +C 253 ; WX 0 ; N yacute ; B 0 0 0 100 ; +C 254 ; WX 0 ; N thorn ; B 0 0 0 100 ; +C 255 ; WX 597 ; N ydieresis ; B -21 -227 541 682 ; +EndCharMetrics +EndFontMetrics diff --git a/phpgwapi/inc/fpdf/tutorial/calligra.php b/phpgwapi/inc/fpdf/tutorial/calligra.php new file mode 100755 index 0000000000..9768158c25 --- /dev/null +++ b/phpgwapi/inc/fpdf/tutorial/calligra.php @@ -0,0 +1,24 @@ +899,'Descent'=>-234,'CapHeight'=>731,'Flags'=>32,'FontBBox'=>'[-50 -234 1328 899]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>800); +$up=-200; +$ut=20; +$cw=array( + chr(0)=>800,chr(1)=>800,chr(2)=>800,chr(3)=>800,chr(4)=>800,chr(5)=>800,chr(6)=>800,chr(7)=>800,chr(8)=>800,chr(9)=>800,chr(10)=>800,chr(11)=>800,chr(12)=>800,chr(13)=>800,chr(14)=>800,chr(15)=>800,chr(16)=>800,chr(17)=>800,chr(18)=>800,chr(19)=>800,chr(20)=>800,chr(21)=>800, + chr(22)=>800,chr(23)=>800,chr(24)=>800,chr(25)=>800,chr(26)=>800,chr(27)=>800,chr(28)=>800,chr(29)=>800,chr(30)=>800,chr(31)=>800,' '=>282,'!'=>324,'"'=>405,'#'=>584,'$'=>632,'%'=>980,'&'=>776,'\''=>259,'('=>299,')'=>299,'*'=>377,'+'=>600, + ','=>259,'-'=>432,'.'=>254,'/'=>597,'0'=>529,'1'=>298,'2'=>451,'3'=>359,'4'=>525,'5'=>423,'6'=>464,'7'=>417,'8'=>457,'9'=>479,':'=>275,';'=>282,'<'=>600,'='=>600,'>'=>600,'?'=>501,'@'=>800,'A'=>743, + 'B'=>636,'C'=>598,'D'=>712,'E'=>608,'F'=>562,'G'=>680,'H'=>756,'I'=>308,'J'=>314,'K'=>676,'L'=>552,'M'=>1041,'N'=>817,'O'=>729,'P'=>569,'Q'=>698,'R'=>674,'S'=>618,'T'=>673,'U'=>805,'V'=>753,'W'=>1238, + 'X'=>716,'Y'=>754,'Z'=>599,'['=>315,'\\'=>463,']'=>315,'^'=>600,'_'=>547,'`'=>278,'a'=>581,'b'=>564,'c'=>440,'d'=>571,'e'=>450,'f'=>347,'g'=>628,'h'=>611,'i'=>283,'j'=>283,'k'=>560,'l'=>252,'m'=>976, + 'n'=>595,'o'=>508,'p'=>549,'q'=>540,'r'=>395,'s'=>441,'t'=>307,'u'=>614,'v'=>556,'w'=>915,'x'=>559,'y'=>597,'z'=>452,'{'=>315,'|'=>222,'}'=>315,'~'=>600,chr(127)=>800,chr(128)=>800,chr(129)=>800,chr(130)=>0,chr(131)=>0, + chr(132)=>0,chr(133)=>780,chr(134)=>0,chr(135)=>0,chr(136)=>278,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>1064,chr(141)=>800,chr(142)=>800,chr(143)=>800,chr(144)=>800,chr(145)=>259,chr(146)=>259,chr(147)=>470,chr(148)=>470,chr(149)=>500,chr(150)=>300,chr(151)=>600,chr(152)=>278,chr(153)=>990, + chr(154)=>0,chr(155)=>0,chr(156)=>790,chr(157)=>800,chr(158)=>800,chr(159)=>754,chr(160)=>282,chr(161)=>324,chr(162)=>450,chr(163)=>640,chr(164)=>518,chr(165)=>603,chr(166)=>0,chr(167)=>519,chr(168)=>254,chr(169)=>800,chr(170)=>349,chr(171)=>0,chr(172)=>0,chr(173)=>432,chr(174)=>800,chr(175)=>278, + chr(176)=>0,chr(177)=>0,chr(178)=>0,chr(179)=>0,chr(180)=>278,chr(181)=>614,chr(182)=>0,chr(183)=>254,chr(184)=>278,chr(185)=>0,chr(186)=>305,chr(187)=>0,chr(188)=>0,chr(189)=>0,chr(190)=>0,chr(191)=>501,chr(192)=>743,chr(193)=>743,chr(194)=>743,chr(195)=>743,chr(196)=>743,chr(197)=>743, + chr(198)=>1060,chr(199)=>598,chr(200)=>608,chr(201)=>608,chr(202)=>608,chr(203)=>608,chr(204)=>308,chr(205)=>308,chr(206)=>308,chr(207)=>308,chr(208)=>0,chr(209)=>817,chr(210)=>729,chr(211)=>729,chr(212)=>729,chr(213)=>729,chr(214)=>729,chr(215)=>0,chr(216)=>729,chr(217)=>805,chr(218)=>805,chr(219)=>805, + chr(220)=>805,chr(221)=>0,chr(222)=>0,chr(223)=>688,chr(224)=>581,chr(225)=>581,chr(226)=>581,chr(227)=>581,chr(228)=>581,chr(229)=>581,chr(230)=>792,chr(231)=>440,chr(232)=>450,chr(233)=>450,chr(234)=>450,chr(235)=>450,chr(236)=>283,chr(237)=>283,chr(238)=>283,chr(239)=>283,chr(240)=>800,chr(241)=>595, + chr(242)=>508,chr(243)=>508,chr(244)=>508,chr(245)=>508,chr(246)=>508,chr(247)=>0,chr(248)=>508,chr(249)=>614,chr(250)=>614,chr(251)=>614,chr(252)=>614,chr(253)=>0,chr(254)=>0,chr(255)=>597); +$enc='cp1252'; +$diff=''; +$file='calligra.z'; +$originalsize=40120; +?> diff --git a/phpgwapi/inc/fpdf/tutorial/calligra.ttf b/phpgwapi/inc/fpdf/tutorial/calligra.ttf new file mode 100755 index 0000000000..e85e000df4 Binary files /dev/null and b/phpgwapi/inc/fpdf/tutorial/calligra.ttf differ diff --git a/phpgwapi/inc/fpdf/tutorial/calligra.z b/phpgwapi/inc/fpdf/tutorial/calligra.z new file mode 100755 index 0000000000..6c26ce42d9 Binary files /dev/null and b/phpgwapi/inc/fpdf/tutorial/calligra.z differ diff --git a/phpgwapi/inc/fpdf/tutorial/countries.txt b/phpgwapi/inc/fpdf/tutorial/countries.txt new file mode 100755 index 0000000000..5a48a42e77 --- /dev/null +++ b/phpgwapi/inc/fpdf/tutorial/countries.txt @@ -0,0 +1,15 @@ +Austria;Vienna;83859;8075 +Belgium;Brussels;30518;10192 +Denmark;Copenhagen;43094;5295 +Finland;Helsinki;304529;5147 +France;Paris;543965;58728 +Germany;Berlin;357022;82057 +Greece;Athens;131625;10511 +Ireland;Dublin;70723;3694 +Italy;Roma;301316;57563 +Luxembourg;Luxembourg;2586;424 +Netherlands;Amsterdam;41526;15654 +Portugal;Lisbon;91906;9957 +Spain;Madrid;504790;39348 +Sweden;Stockholm;410934;8839 +United Kingdom;London;243820;58862 diff --git a/phpgwapi/inc/fpdf/tutorial/index.htm b/phpgwapi/inc/fpdf/tutorial/index.htm new file mode 100755 index 0000000000..71d1b040cb --- /dev/null +++ b/phpgwapi/inc/fpdf/tutorial/index.htm @@ -0,0 +1,18 @@ + + + +
+
+
+<?php |
+
+$pdf=new FPDF('P','mm','A4'); |
+
+$pdf->SetFont('Arial','B',16); |
+
+$pdf->Cell(40,10,'Hello World !',1); |
+
+$pdf->Cell(60,10,'Powered by FPDF.',0,1,'C'); |
+
+<?php |
+
+<?php |
+
+<?php |
+
+<?php |
+
+<?php |
+
+$a=preg_split('/[<>]/',$html); |
+Path to the .ttf or .pfb file. ++afmfile +
+Path to the .afm file. ++enc +
+Name of the encoding to use. Default value: cp1252. ++patch +
+Optional modification of the encoding. Empty by default. ++type +
+Type of the font (TrueType or Type1). Default value: TrueType. ++
+
+$pdf->AddFont('Comic','','comic.php'); |
+
+$pdf->AddFont('Comic'); |
+
+$pdf->AddFont('Comic','B','comicbd.php'); |
+
+<?php |
+
+<?php |
Encoding | Position |
---|---|
cp1250 | 128 |
cp1251 | 136 |
cp1252 | 128 |
cp1253 | 128 |
cp1254 | 128 |
cp1255 | 128 |
cp1257 | 128 |
cp1258 | 128 |
cp874 | 128 |
ISO-8859-1 | absent |
ISO-8859-2 | absent |
ISO-8859-4 | absent |
ISO-8859-5 | absent |
ISO-8859-7 | absent |
ISO-8859-9 | absent |
ISO-8859-11 | absent |
ISO-8859-15 | 164 |
ISO-8859-16 | 164 |
KOI8-R | absent |
KOI8-U | absent |
+
+$pdf->AddFont('Comic','I','comici.php'); |