PEAR::Text_Figlet
ほう?Zend Framework使ってない人もPEAR::Text_Figletにあるのでできるよ。しかもstableだ。
秋元@サイボウズラボ・プログラマー・ブログ: それPEAR::Text_Figletでもできるよ
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でもできるよ
ほう?
'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で文字列表示するだけなので、別途パスフレーズを保存したりチェックしたりする必要あり。