/*
* html2hdml/emoji.c
* processing i-mode emoji (http://www.nttdocomo.co.jp/i/tag/emoji/)
*
* Coprygight (C) 2000-2003 Dino Co.,Ltd.
* http://www.dino.co.jp/
*/
#ifdef HAVE_CONFIG_H
# include
#endif
#include
#include
#include
#define EMOJI_FILENAME "/x/emoji.txt"
char *default_emoji_table[] = {
"", /* (dummy) */
"
", /* 1 ; 63647 */
"
", /* 2 ; 63648 */
"
", /* 3 ; 63649 */
"
", /* 4 ; 63650 */
"
", /* 5 ; 63651 */
"
", /* 6 ; 63652 */
"
", /* 7 ; 63653 */
"
", /* 8 ; 63654 */
"
", /* "牡羊座", 9 ; 63655 */
"
", /* "牡牛座", 10 ; 63656 */
"
", /* "双子座", 11 ; 63657 */
"
", /* "蟹座", 12 ; 63658 */
"
", /* "獅子座", 13 ; 63659 */
"
", /* "乙女座", 14 ; 63660 */
"
", /* "天秤座", 15 ; 63661 */
"
", /* "蠍座", 16 ; 63662 */
"
", /* "射手座", 17 ; 63663 */
"
", /* "山羊座", 18 ; 63664 */
"
", /* "水瓶座", 19 ; 63665 */
"
", /* "魚座", 20 ; 63666 */
"
", /* "スポーツ", 21 ; 63667 */
"
", /* "野球", 22 ; 63668 */
"
", /* "ゴルフ", 23 ; 63669 */
"
", /* "テニス", 24 ; 63670 */
"
", /* "サッカー", 25 ; 63671 */
"
", /* "スキー", 26 ; 63672 */
"
", /* "バスケットボール", 27 ; 63673 */
"
", /* "モータースポーツ", 28 ; 63674 */
"
", /* "ポケットベル", 29 ; 63675 */
"
", /* "電車", 30 ; 63676 */
"
", /* "地下鉄", 31 ; 63677 */
"
", /* "新幹線", 32 ; 63678 */
"
", /* "車(セダン)", 33 ; 63679 */
"
", /* "車(RV)", 34 ; 63680 */
"
", /* "バス", 35 ; 63681 */
"
", /* "船", 36 ; 63682 */
"
", /* "飛行機", 37 ; 63683 */
"
", /* "家", 38 ; 63684 */
"
", /* "ビル", 39 ; 63685 */
"
", /* "郵便局", 40 ; 63686 */
"
", /* "病院", 41 ; 63687 */
"
", /* "銀行", 42 ; 63688 */
"
", /* "ATM", 43 ; 63689 */
"
", /* "ホテル", 44 ; 63690 */
"
", /* "コンビニ", 45 ; 63691 */
"
", /* "ガソ\リンスタンド", 46 ; 63692 */
"
", /* "駐車場", 47 ; 63693 */
"
", /* "信号", 48 ; 63694 */
"
", /* "トイレ", 49 ; 63695 */
"
", /* "レストラン", 50 ; 63696 */
"
", /* "喫茶店", 51 ; 63697 */
"
", /* "バー", 52 ; 63698 */
"
", /* "ビール", 53 ; 63699 */
"
", /* "ファーストフード", 54 ; 63700 */
"
", /* "ブティック", 55 ; 63701 */
"
", /* "美容院", 56 ; 63702 */
"
", /* "カラオケ", 57 ; 63703 */
"
", /* "映画", 58 ; 63704 */
"
", /* "右斜め上", 59 ; 63705 */
"
", /* "遊園地", 60 ; 63706 */
"
", /* "音楽", 61 ; 63707 */
"
", /* "アート", 62 ; 63708 */
"
", /* "演劇", 63 ; 63709 */
"
", /* "イベント", 64 ; 63710 */
"
", /* "チケット", 65 ; 63711 */
"
", /* "喫煙", 66 ; 63712 */
"
", /* "禁煙", 67 ; 63713 */
"
", /* "カメラ", 68 ; 63714 */
"
", /* "カバン", 69 ; 63715 */
"
", /* "本", 70 ; 63716 */
"
", /* "リボン", 71 ; 63717 */
"
", /* "プレゼント", 72 ; 63718 */
"
", /* "バースデー", 73 ; 63719 */
"
", /* "電話", 74 ; 63720 */
"
", /* "携帯電話", 75 ; 63721 */
"
", /* "メモ", 76 ; 63722 */
"
", /* "TV", 77 ; 63723 */
"
", /* "ゲーム", 78 ; 63724 */
"
", /* "CD", 79 ; 63725 */
"
", /* "ハート", 80 ; 63726 */
"
", /* "スペード", 81 ; 63727 */
"
", /* "ダイヤ", 82 ; 63728 */
"
", /* "クラブ", 83 ; 63729 */
"
", /* "目", 84 ; 63730 */
"
", /* "耳", 85 ; 63731 */
"
", /* "手(グー)", 86 ; 63732 */
"
", /* "手(チョキ)", 87 ; 63733 */
"
", /* "手(パー)", 88 ; 63734 */
"
", /* "右斜め下", 89 ; 63735 */
"
", /* "左斜め上", 90 ; 63736 */
"
", /* "足", 91 ; 63737 */
"
", /* "くつ", 92 ; 63738 */
"
", /* "眼鏡", 93 ; 63739 */
"
", /* "車椅子", 94 ; 63740 */
/* f940 */
"
", /* "新月", 95 ; 63808 */
"
", /* "やや欠け月", 96 ; 63809 */
"
", /* "半月", 97 ; 63810 */
"
", /* "三日月", 98 ; 63811 */
"
", /* "満月", 99 ; 63812 */
"
", /* "犬", 100 ; 63813 */
"
", /* "猫", 101 ; 63814 */
"
", /* "リゾート", 102 ; 63815 */
"
", /* "クリスマス", 103 ; 63816 */
"
", /* "左斜め下", 104 ; 63817 */
/* f972 */
"
", /* "phone to", 105 ; 63858 */
"
", /* "mail to", 106 ; 63859 */
"
", /* "fax to", 107 ; 63860 */
"
", /* "i", 108 ; 63861 */
"
", /* "(i)", 109 ; 63862 */
"
", /* "メール", 110 ; 63863 */
"
", /* "ドコモ提供", 111 ; 63864 */
"
", /* "ドコモポイント", 112 ; 63865 */
"
", /* "有料", 113 ; 63866 */
"
", /* "無料", 114 ; 63867 */
"
", /* "ID", 115 ; 63868 */
"
", /* "パスワード", 116 ; 63869 */
"
", /* "次項有", 117 ; 63870 */
/* f980 */
"
", /*"クリア", 118 ; 63872 */
"
", /*"サーチ(調べる)", 119 ; 63873 */
"
", /*"NEW", 120 ; 63874 */
"
", /*"位置情報", 121 ; 63875 */
"
", /*"フリーダイヤル", 122 ; 63876 */
"
", /*"シャープダイヤル", 123 ; 63877 */
"
", /*"モバQ", 124 ; 63878 */
"
", /* 125 ; 63879 */
"
", /* 126 ; 63880 */
"
", /* 127 ; 63881 */
"
", /* 128 ; 63882 */
"
", /* 129 ; 63883 */
"
", /* 130 ; 63884 */
"
", /* 131 ; 63885 */
"
", /* 132 ; 63886 */
"
", /* 133 ; 63887 */
"
", /* 134 ; 63888 */
"
", /* "決定", 135 ; 63920 */
"
", /* 136 ; 63889 */
"
", /* 137 ; 63890 */
"
", /* "失恋", 138 ; 63891 */
"
", /* "ハートたち(複数ハート)", 139 ; 63892 */
"
", /* "わーい(嬉しい顔)", 140 ; 63893 */
"
", /* "ちっ(怒った顔)", 141 ; 63894 */
"
", /* "がく〜(落胆した顔)", 142 ; 63895 */
"
", /* "もうやだ〜(悲しい顔)", 143 ; 63896 */
"
", /* "ふらふら", 144 ; 63897 */
"
", /* "グッド(上向き矢印)", 145 ; 63898 */
"
", /* "るんるん", 146 ; 63899 */
"
", /* "いい気分(温泉)", 147 ; 63900 */
"
", /* "かわいい", 148 ; 63901 */
"
", /* "キスマーク", 149 ; 63902 */
"
", /* "ぴかぴか(新しい)", 150 ; 63903 */
"
", /*"ひらめき", 151 ; 63904 */
"
", /*"むかっ(怒り)", 152 ; 63905 */
"
", /*"パンチ", 153 ; 63906 */
"
", /*"爆弾", 154 ; 63907 */
"
", /*"ムード", 155 ; 63908 */
"
", /*"バッド(下向き矢印)", 156 ; 63909 */
"
", /*"zzz", 157 ; 63910 */
"
", /*"!", 158 ; 63911 */
"
", /*"!?", 159 ; 63912 */
"
", /*"!!", 160 ; 63913 */
"
", /*"どんっ(衝撃)", 161 ; 63914 */
"
", /*"あせあせ(飛び散る汗)", 162 ; 63915 */
"
", /*"たらーっ(汗)", 163 ; 63916 */
"
", /*"ダッシュ(走り出すさま)", 164 ; 63917 */
"
", /*"ー", 165 ; 63918 */
"
", /*"ー", 166 ; 63919 */
};
char *emoji_table[167];
/* 外部絵文字ファイル読み込み: フォーマットは、
0個以上の空白文字・絵文字番号・1個以上の空白文字・変換後の文字列
絵文字番号は http://www.nttdocomo.co.jp/i/tag/emoji/ 参照のこと。
*/
int set_emoji_table()
{
int i;
for (i = 0; i <= 166; i++) {
emoji_table[i] = default_emoji_table[i];
}
#ifndef MOD_HTML2HDML
{
FILE *fp;
char *emoji_filename;
emoji_filename = EMOJI_FILENAME;
fp = fopen(emoji_filename, "r");
if (fp) {
char buf[2048];
while (fgets(buf, 2048, fp)) {
char *p;
p = strchr(buf, '\0');
while (buf < p) {
/* 行末の改行をとり除く */
p--;
if (strchr("\r\n", *p) == NULL) break;
*p = '\0';
}
p = buf + strspn(buf, " \t\r\n"); /* 行頭の空白文字をskip */
if ((i = strspn(p, "0123456789")) != 0) {
long int j;
/* i文字は数字部分 */
j = strtol(p, NULL, 10);
if (j > 0 && j <= 166) {
p += i;
if ((i = strspn(p, " \t\r\n")) != 0) {
/* i文字は空白文字 */
p += i;
emoji_table[j] = strdup(p);
}
}
}
}
fclose(fp);
}
}
#endif
return 0;
}