忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/04/19 22:36 |
PHP1-23:Text_Figlet

Text_Figlet 1.0.0
http://pear.php.net/manual/ja/package.text.text-figlet.php

 

   _  _  _ _   _    ___   _       _
  ./ / /_//_// /  / /__/_/_/  / / _   _/ /
  / /       / /  / //   _  /_/ /_/ /  /   フ /⌒ヽ
. /   ̄ ̄ ̄/  ./ /  / /  ̄ ̄/ / /   __   ヽ  ̄/ // / /
/ / ̄/ / ̄  / / ./ /    / /    ̄ |  |/ /) ) / / // /
 ̄  / /   / /  .|  |    |  |     |  | ̄ \/ /_   / / /_
   / /  / /    \ \    \ \    |  |     / /  (  /
    ̄    ̄         ̄      ̄     ̄       ̄      ̄

を作成できるという噂のText_Figlet。
誰だよこんなの登録した奴。あと許可した奴。

まずpearフォルダ内にText_Figletフォルダを作ってその中にTextフォルダ、fontsフォルダを移動します。

Text_Figletには実質的にメソッドが二つしかないのでわざわざラッパクラスを作らなくてもいいといえばいいのですが、手動でインストールしている関係上include_pathが通ってなかったりで面倒なのでとりあえず作ります。

figlet.class.php
 

 

<?php
    //初期設定
    define('PEAR_DIR',$_SERVER['DOCUMENT_ROOT'].'/src/php/pear/');
    define('PEAR_FIGLET_FONT_DIR',PEAR_DIR.'Text_Figlet/fonts/');
    ini_set('include_path',PEAR_DIR.PATH_SEPARATOR.ini_get('include_path'));
    require_once(PEAR_DIR.'Text_Figlet/Text/Figlet.php');
   
    class pearFigletModel {
        //メンバ変数
        private $figlet = array();
       
        //コンストラクタ
        public function __construct(){
            $this->figlet = new Text_Figlet();
            $a=$this->figlet->loadFont(PEAR_FIGLET_FONT_DIR.'slant.flf');
        }
       
        //フォントをセット
        public function loadFont($fontname){
            $this->figlet->loadFont(PEAR_FIGLET_FONT_DIR.$fontname);
        }
       
        //表示
        public function lineEcho($str){
            return $this->figlet->lineEcho($str);
        }
       
    #↓クラスのおわり
    }


Text_Figletは、fontsフォルダではなく、include_pathおよびPearのコンフィグファイルで設定した場所からしかフォントを探してくれません。
include_pathを通してもいいのですが、今回は手っ取り早く定数にしています。
例によってPear::isErrorなんかは自力でどうにかしてください。

さっそく実行。

figlet.php 

<?php
    #初期設定
    header("Content-type: text/html; charset=utf-8");
    require_once('./figlet.class.php');
    $figlet = new pearFigletModel();
   
    $str1='Hello, world';
    $str2='STOP!地球温暖化。';
    $ret1=$figlet->lineEcho($str1);
    $ret2=$figlet->lineEcho($str2);
   
    print("<pre>");
    print($ret1.'<hr>'.$ret2);


 

    __  __     ____                               __    __
   / / / /__  / / /___       _      ______  _____/ /___/ /
  / /_/ / _ \/ / / __ \     | | /| / / __ \/ ___/ / __  / 
 / __  /  __/ / / /_/ /     | |/ |/ / /_/ / /  / / /_/ /  
/_/ /_/\___/_/_/\____( )    |__/|__/\____/_/  /_/\__,_/   
                     |/                                   
--------------------------------------------------------------------------------
    /\// ___   /\//  /\//  __   /\//  /\//
  _//\/_|_  |_//\/__//\/__/ _)_//\/__//\/_
 / __ `/ __// __ `/ __ `/ | |/ __ `/ __ `/
/ /_/ /____/ /_/ / /_/ / || / /_/ / /_/ / 
\__,_/     \__,_/\__,_/| |_/\__,_/\__,_/  
                      (__/               

う、読めない。
まあ当たり前で、同梱されているフォントには日本語が入っていません。
ではどうすればいいかとフォントファイルであるところのflfを覗いてみると、これが単なるテキストファイルです。
 

    ___ @
   /   |@
  / /| |@
 / ___ |@
/_/  |_|@
        @@
    ____ @
   / __ )@
  / __  |@
 / /_/ / @
/_____/  @
         @@
   ______@
  / ____/@
 / /     @
/ /___   @
\____/   @
         @@


よし、日本語は諦めよう。 

PR


2008/09/08 21:19 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<PHP1-24:Text_Highlighter | HOME | PHP1-22:祝日を取得>>
忍者ブログ[PR]