ホーム > 日記 > PEAR::Text_Figlet

PEAR::Text_Figlet

Zend Framework使ってない人もPEAR::Text_Figletにあるのでできるよ。しかもstableだ。
秋元@サイボウズラボ・プログラマー・ブログ: それPEAR::Text_Figletでもできるよ

ほう?


<?php
require_once 'PEAR/Config.php';
require_once 'Text/Figlet.php';

$figlet = new Text_Figlet();
$fontdir = PEAR_Config::singleton()->get('data_dir') . '/Text_Figlet/fonts/';
if (!$fonts = @scandir($fontdir)) {
    die('not found fonts');
}
foreach ($fonts as $font) {
    if (strpos($font, '.') === 0) {
        continue;
    }
    if (PEAR::isError($figlet->LoadFont($font))) {
        die($error->getMessage());
    }
    echo $font . "\n";
    echo $figlet->LineEcho('LOWTECH') . "\n";
}
?>

なんとなくLOWTECHを出力


3-d.flf
 **         *******   **       ** ********** ********   ******  **      **
/**        **/////** /**      /**/////**/// /**/////   **////**/**     /**
/**       **     //**/**   *  /**    /**    /**       **    // /**     /**
/**      /**      /**/**  *** /**    /**    /******* /**       /**********
/**      /**      /**/** **/**/**    /**    /**////  /**       /**//////**
/**      //**     ** /**** //****    /**    /**      //**    **/**     /**
/******** //*******  /**/   ///**    /**    /******** //****** /**     /**
////////   ///////   //       //     //     ////////   //////  //      //
alligator2.flf
:::        ::::::::  :::       ::: ::::::::::: :::::::::: ::::::::  :::    :::
:+:       :+:    :+: :+:       :+:     :+:     :+:       :+:    :+: :+:    :+:
+:+       +:+    +:+ +:+       +:+     +:+     +:+       +:+        +:+    +:+
+#+       +#+    +:+ +#+  +:+  +#+     +#+     +#++:++#  +#+        +#++:++#++
+#+       +#+    +#+ +#+ +#+#+ +#+     +#+     +#+       +#+        +#+    +#+
#+#       #+#    #+#  #+#+# #+#+#      #+#     #+#       #+#    #+# #+#    #+#
########## ########    ###   ###       ###     ########## ########  ###    ###
bell.flf
 .       ___   .       __  _______ .____    ___  __  __
 /     .'   `. /       |  '   /    /      .'   \ |   |
 |     |     | |       |      |    |__.   |      |___|
 |     |     | |  /\   /      |    |      |      |   |
 /---/  `.__.' |,'  \,'       /    /----/  `.__, /   /

block.flf

 _|          _|_|    _|          _|  _|_|_|_|_|  _|_|_|_|    _|_|_|  _|    _|
 _|        _|    _|  _|          _|      _|      _|        _|        _|    _|
 _|        _|    _|  _|    _|    _|      _|      _|_|_|    _|        _|_|_|_|
 _|        _|    _|    _|  _|  _|        _|      _|        _|        _|    _|
 _|_|_|_|    _|_|        _|  _|          _|      _|_|_|_|    _|_|_|  _|    _|

contessa.flf
.   .__..  ..___..___ __ .  .
|   |  ||  |  |  [__ /  `|__|
|___|__||/\|  |  [___\__.|  |

cybermedium.flf
_    ____ _ _ _ ___ ____ ____ _  _
|    |  | | | |  |  |___ |    |__|
|___ |__| |_|_|  |  |___ |___ |  |

isometric1.flf
      ___       ___           ___           ___           ___           ___          ___
     /\__\     /\  \         /\__\         /\  \         /\  \         /\  \        /\__\
    /:/  /    /::\  \       /:/ _/_        \:\  \       /::\  \       /::\  \      /:/  /
   /:/  /    /:/\:\  \     /:/ /\__\        \:\  \     /:/\:\  \     /:/\:\  \    /:/__/
  /:/  /    /:/  \:\  \   /:/ /:/ _/_       /::\  \   /::\~\:\  \   /:/  \:\  \  /::\  \ ___
 /:/__/    /:/__/ \:\__\ /:/_/:/ /\__\     /:/\:\__\ /:/\:\ \:\__\ /:/__/ \:\__\/:/\:\  /\__\
 \:\  \    \:\  \ /:/  / \:\/:/ /:/  /    /:/  \/__/ \:\~\:\ \/__/ \:\  \  \/__/\/__\:\/:/  /
  \:\  \    \:\  /:/  /   \::/_/:/  /    /:/  /       \:\ \:\__\    \:\  \           \::/  /
   \:\  \    \:\/:/  /     \:\/:/  /     \/__/         \:\ \/__/     \:\  \          /:/  /
    \:\__\    \::/  /       \::/  /                     \:\__\        \:\__\        /:/  /
     \/__/     \/__/         \/__/                       \/__/         \/__/        \/__/

larry3d.flf
 __      _____   __      __  ______  ____    ____    __  __
/\ \    /\  __`\/\ \  __/\ \/\__  _\/\  _`\ /\  _`\ /\ \/\ \
\ \ \   \ \ \/\ \ \ \/\ \ \ \/_/\ \/\ \ \L\_\ \ \/\_\ \ \_\ \
 \ \ \  __\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  _\L\ \ \/_/_\ \  _  \
  \ \ \L\ \ \ \_\ \ \ \_/ \_\ \ \ \ \ \ \ \L\ \ \ \L\ \ \ \ \ \
   \ \____/\ \_____\ `\___x___/  \ \_\ \ \____/\ \____/\ \_\ \_\
    \/___/  \/_____/'\/__//__/    \/_/  \/___/  \/___/  \/_/\/_/

script.flf
    _    __   _            _________  ___  ,
 \_|_)  /\_\/(_|   |   |_/(_) | / (_)/ (_)/|   |
   |   |    |  |   |   |      | \__ |      |___|
  _|   |    |  |   |   |    _ | /   |      |   |\
 (/\___/\__/    \_/ \_/    (_/  \___/\___/ |   |/

slant.flf
    __   ____ _       ______________________  __
   / /  / __ \ |     / /_  __/ ____/ ____/ / / /
  / /  / / / / | /| / / / / / __/ / /   / /_/ /
 / /___ /_/ /| |/ |/ / / / / /___/ /___/ __  /
/_____\____/ |__/|__/ /_/ /_____/\____/_/ /_/

使うとしたらslantかな?

PEAR::Text_CAPTCHAからこれを呼んで、Figletのキャプチャを出すことも可能。
秋元@サイボウズラボ・プログラマー・ブログ: それPEAR::Text_Figletでもできるよ

ほう?


<?php
require_once 'Text/CAPTCHA.php';

$options = array(
    'output' => 'javascript', // text, html or javascript
    'options' => array(
        'font_file' => 'slant.flf', // file string or files array
    ),
);

$c = Text_CAPTCHA::factory('figlet');
if (PEAR::isError($r = $c->init($options))) {
    printf('Error initializing CAPTCHA: %s!', $r->getMessage());
    exit;
}

if (PEAR::isError($r = $c->getCAPTCHA())) {
    echo 'Error generating CAPTCHA!';
    echo $r->getMessage();
    exit;
}
echo $r; 

これだとjavascriptで文字列表示するだけなので、別途パスフレーズを保存したりチェックしたりする必要あり。

カテゴリー: 日記 タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。