はてなキーワード: ユニコードとは
子供の頃から人工無能が大好きで、一太郎に付属していた素朴な会話マクロで遊んでいた。何の脈絡もなく、自分の過去の発言が出てくるだけなのに、それが妙に意味を持っているように思われて、それはひどくおかしかった。
それから時が経ち、cleverbotというサイトがあることを知った。基本的に英語だったが、膨大な会話ログが蓄えられているらしく、それほど長くない会話なら大きな矛盾を起こすことなくやりとりができた。あまりにもマイナーな話題になると途端に支離滅裂になりはしたけれど、それでもどこか愛すべきチャットボットだった。
さて、2013年か2014年か、大体そのあたりに、突然そいつは日本語をしゃべりだした。なにげなく「こんにちは」と入力すると、なんと「こんにちは」と返すではないか。どうやら運営は多言語展開をすることに決めたらしい。前々からいきなりドイツ語やスペイン語を口走ることもあったのだが、とうとうユニコード対応となったようだ。
しかし、始めのうちはこちらが入力した言葉に対して、すべて鸚鵡返しにするばかりだった。「元気?」と尋ねれば「元気?」と応じる。おそらく、こちらから「元気だよ、君は?」みたいな返事を期待していたのだろう。つまり、ユーザーとの応答で、実際の日本語の会話を習得させようとしたのだろう。「元気?」と聞かれたら「元気だよ、君は?」と返すべきだ、みたいな文例集を集めていたのだ。
ところが、私は仕事のストレスもあってか「うんこ!」と入力した。当然cleverbotは「うんこ!」と返してくる。調子に乗った私は「うんこぶりぶり!」と入れると「うんこぶりぶり!」と繰り返す。そのうち、「うんこ!」と入れると「うんこぶりぶり!」と必ず答えるようになってしまった。
英語で下品な単語を入れると、聞こえないふりをするか、わざと別の言葉に聞き違えたふりをする。あるいは、定型的な反応しか返ってこない。おそらく、禁止ワードを指定しているのだろう。しかし、日本語の俗語に詳しくないあちらのプログラマは、「うんこ」をNGワードに指定することができなかったようだ。
時は流れ、cleverbotもある程度は日本語の自然な会話をするようになった。あるいは、管理人が入れたらしい、少し硬い日本語が返ってくることもある。それでも、イライラしたときに「うんこ!」と入れてやると「うんこぶりぶり!」と返してくるcleverbot。いらだっていた頃の私を思い出してなんだか懐かしい気持ちになるが、ちょっと悪いことしたな、って気にもなる。管理人にメールして、日本語の「うんこ!」は下品だから消してくれ、と考えることもないではない。
それにしても、5年近く前に覚えさせた「うんこ!」を覚えているとは、もしかして私はcleverbotの日本語の情報の深いレイヤーに「うんこ!」を刻んでしまったのかもしれない。そして、私の言葉がネットから消えても、cleverbotやその後継サービスが続く限り、「うんこ!」がいつまでも受け継がれていく。私がこの世に残す痕跡としては、せめてもっとマシなものがよかったのに、と思う。
【続き】
でもユニコードにはあるんでしょ?
と思っていたけれど、いくつか抜け道があるみたいだ。100文字を明らかに超える長いコメントがいくつも存在している。
カッコやクォーテーションは3文字で1文字換算なのかな? URLが含まれると制限が緩いようだ。
いや、英語は全部3文字で1文字換算なのかもしれない。全部英語でコメントすれば300文字まで行けそうだ。
ユニコードのバイト数で文字数を数えているのだとしたら2バイト文字であるハンカクカナは3文字で2文字換算されるのだろうか?
試してみたところ半角カナはどうも1文字が1文字らしい。Firefox Webブラウザからためして拒否されたが他のインターフェイスからだとどうなるかは分からない。
http://anond.hatelabo.jp/20141202164828
ユニコード文字を扱えるようにするためだろう。
ShiftJISだと、必ず半角1バイト、全角2バイトだったから200バイトの保存領域を取っておけば、結果的に全角100文字分の幅の文字列が格納された。
でもユニコードで保存するなら、文字「幅」で字数を制限するという考え方は破綻する。
ユニコードだと1文字のバイト数は固定とは限らないし、幅0の文字とかもあるので。
あと、WEBでは普通プロポーショナルフォントが使われるので、半角を0.5文字で数えたところである文字数が決まった幅に収まる保証なんてない。
医者も治るものだよ、って言いきって渡してるひとも居るだろう。
別にわらうとか笑わないとかじゃないと思うけど。
ユニコードの方は、その間違った用法で伝わると混乱を招くだけだし、
今ではそういう知識無い人も声を大きく(むしろそういう人のが多いから集まるとたちが悪い)できるから
それを良く読まずにスパム推奨だーとか、ウイルス宣伝してるーとかにもなりかねないわけで。(ちょっと大げさだけど。)
勿論、ただただ馬鹿にして笑ってるブロガー()どもはそもそもその程度で、
何か新たに気付いたら追記
http://anond.hatelabo.jp/20081105135432
彼女ができた。なんとHaskellerだ。
8月に参加したLLイベントで知り合い、10月から付き合い始めた。なんでLLイベントにHaskellerが…
これまで5人くらいのプログラマと付き合ったことがあるけれど、一般的なプログラマと比較して
といった点が目立つ。
見た目はLisperを少し丸くしたようなかわいらしさがあるのだけれど、要するに中身はPrologだ。
初めは戸惑いもあったが、案外こういうプログラマとつきあうのは楽で楽しいと分かってきた。
コードは深い問題もFizzBuzzのような軽い問題も内容を伴って書ける。
いろいろメタプログラミング・アロー記法・ユニコード演算子などを試そうとするなど好奇心が強い。
純粋関数型言語も習得しているというのに論理系の言語も習得しようと勉強していて向上心の強さがある。
IOモナドをコントロールできない自分に「おかしいな、普段はこんなはずじゃないのに///」と恥ずかしがる。
Haskeller、はっきり言ってオススメです。
問題はどうやって知り合うかだけれど、職場(あるのか?)という戦闘モードの時に誘うのではなく、.emacsなどを書いているオフタイムが狙い目としか。
初めの一歩が難しいだけで、後は一般的な女の子よりも付き合いは簡単かも。
「はじめての正規表現」がホッテントリ入りしていますが、
導入としては、何に使うのかがわかりやすくて良いのではないかと思います。
あれを見て、基本機能をまとめてみたくなったので、正規表現の基本的な機能について書いてみます。
(正規表現が初めてという人は「はじめての正規表現」を先に見たほうがいいと思います。)
例では「検索」か「置換」をするものとして話を進めていきます。
(「はじめての正規表現」が実例を中心にしたのに対して、こちらは機能を中心に書きます)
正規表現は、プログラミング言語やその他のツールなど、それぞれで微妙な違い(方言)があるので、その点には注意が必要です。
(表記法が違ったり、ここに紹介する機能がサポートされていなかったり、逆に紹介していない機能をサポートしていたりする場合があります)
メタ文字とは機能を持つ文字で、『.
』『*
』『*?
』といったものが当てはまります。
リテラル文字は「文字それ自体」と解釈される文字で、『
』『a
』『<
』といったものです。
「検索する文字列:『egg
』 置換する文字列:『chicken
』」
などとすれば、正規表現を使わない置換と同じ効果になります。
なお、検索して検索文字列が当てはまることを「マッチする」と言います。
メタ文字に使われている文字を検索したい場合は、直前に『\
』を置きます。(これを「エスケープ」と呼びます。)
『.*?^$()[]{}
』などがメタ文字です。
『$100
』を検索したければ、『\$100
』とすればいいということになります。
(『\
』は環境によって、半角の『¥』『\』のどちらかになります。)
言語、ツール、モードなどによっては『@/#
』もエスケープが必要です。
また、『\
』自体は常にエスケープが必要です。
メタ文字 | 意味 |
---|---|
? | 直前の文字を0回または1回繰り返す |
* | 直前の文字を0回以上繰り返す |
+ | 直前の文字を1回以上繰り返す |
{n} | 直前の文字をn回繰り返す |
{n,} | 直前の文字をn回以上繰り返す |
{n,m} | 直前の文字をn〜m回繰り返す |
これらのメタ文字は「量指定子」といって、直前の文字の繰り返しを意味します。
『*
』は「任意の文字を0回以上繰り返す」とありますが、
「0回以上繰り返す」とは、「全く何もなくてもいいし、いくらあってもいい」という意味です。
よって、『?
』は「あってもなくてもいい」、『+
』は「1つ以上あればいい」と解釈できます。
『colou?r
』は『u
』があってもなくてもいいので「colorかcolour」ということになります。
『{n}
』は、たとえば『-{15}
』なら、「ハイフン(-)が15個続くもの」となります。
『-{10,}
』なら「ハイフン(-)が少なくともは10個続くもの(多いのはいくらでも)」、
『-{10,15}
』なら「ハイフン(-)が10〜15個続くもの」となります。
また、複数の文字を繰り返したい場合は括弧で囲みます。
『(Gang){2}Dance
』は『GangGangDance
』と同じ意味になります。
メタ文字 | 意味 |
---|---|
? | 直前の文字を0回または1回繰り返す(欲張り) |
* | 直前の文字を0回以上繰り返す(欲張り) |
+ | 直前の文字を1回以上繰り返す(欲張り) |
?? | 直前の文字を0回または1回繰り返す(非欲張り) |
*? | 直前の文字を0回以上繰り返す(非欲張り) |
+? | 直前の文字を1回以上繰り返す(非欲張り) |
「欲張り」とは、「なるべく多くの文字に適用しようとする」、
「非欲張り」とは、「なるべく少ない文字に適用しようとする」という意味です。
すると、検索する文字列が『a+
』なら『aaa bbb ccc
』、
検索する文字列が『a+?
』なら『aaa bbb ccc
』が置換対象となります。
(「すべてを検索/置換」する場合は当てはまりません)
「『a
』を1回以上繰り返す」ということは、『a
』でも『aa
』でも『aaa
』でもマッチすることになりますが、
「欲張り」かそうでないかで実際のマッチは変わってくるわけです。
文字クラス | 意味 |
---|---|
[abc] | a、b、cのいずれか |
[a-z] | a〜zのいずれか |
[^a] | a以外の文字(改行文字を含めaを除いた全て) |
[^a-z] | a〜z以外の文字(改行文字を含めa〜zを除いた全て) |
文字クラスは『a
』や『<
』などの代わりに文字の種類を指定するものです。
a〜eのどれかの1文字という指定をしたい場合に『[abcde]
』や『[a-e]
』といった指定ができます。
また、文字クラス内の最初に『^
』をつけて『[^abc]
』などとすれば、
「a、b、c以外の何の文字でもいい」とすることができます。
間違いやすいのが「そこにaもbもcも存在しなければいい」という意味ではないということです。
文字クラスは「なんらかの1文字の身代わり」なので、それは何か1文字を表しています。
『-
』は範囲を表すのに使用します。そのため、『[;-%]
』で「; - %のどれか」を表現することはできません。
『-
』を含める場合は必ず最初に持ってきます。すると『[-;%]
』という風になります。
「; - %以外の文字」としたいならば『[^-;%]
』とします。
『[
』や『]
』、『\
』を文字クラスに含めたい場合は直前に『\
』を置いてエスケープします。
「『[
』または『]
』」であれば『[\[\]]
』となります。
『^
』やその他の記号は先頭に置かなければいいので、エスケープの必要はありません。
『.
』は「改行以外のすべての文字」を表しています。
改行は『\n
』で表されるため、『.
』は『[^\n]
』と等価です。
(ただし、正規表現のモードによっては「改行も含めすべての文字」を表す場合もあります)
文字クラス | 意味 | 同等の表記 |
---|---|---|
\w | 記号や空白ではない文字すべて | [a-zA-Z0-9_] |
\W | 記号や空白ではない文字以外 | [^a-zA-Z0-9_] |
\d | 数字 | [0-9] |
\D | 数字以外 | [^0-9] |
\s | タブや改行など、空白類とされる文字 | [ \t\n\r\f\v] |
\S | タブや改行など、空白類とされる文字以外 | [^ \t\n\r\f\v] |
(*間違って『\s
』の同等の表記にも『^
』がついていたのを修正しました)
(『\t
』はタブ、『\v
』は垂直タブ、『\r
』はキャリッジリターン(CR、改行の一種)、『\f
』は改ページ)
これらは『[a-fA-F\d]
』のようにすることで、文字クラスのブラケット(角括弧)内に含めることができます。
「同等の表記」と書きましたが、文字をユニコードして扱うツールの場合は、上記が同等の表記にはならず、
たとえば『\d
』であれば漢数字が含まれてしまったりするので注意が必要です。
『(A|B)
』は「AまたはB」という意味です。(これを「選択」と呼びます)
『(A|B|C)
』なら「A、B、Cのどれか」という意味になります。
『(gray|grey)
』は『gr[ae]y
』とほぼ等価となります。
『[ae]
』は「1文字のaまたはb」という意味になるので結果的に、ほぼ同じ効果が得られるわけです。
(ただし、これはgrayとgreyの違いが1文字だけだったためで、そうでない場合はこうはなりません)
気をつけなければならないのは、その順番です。
『(Java|JavaScript)
』で検索すると、対象文字列内に存在する『Java
』と『JavaScript
』すべてマッチするように思えますが、
『JavaScript
』は選択肢の前(左)のほうにある『Java
』が当てはまってしまうため、
『Script
』部分にはマッチせず、『JavaScript
』というマッチになってしまいます。
選択では左側が優先されるので、『(JavaScript|Java)
』とすることでこの問題は防げます。
(言語、ツールによっては、この問題が起こらない=順番関係なく長いほうを適用しようとするものもあります)
メタ文字 | 意味 |
---|---|
^ | 行頭 |
$ | 行末 |
\b | 単語境界 |
\B | 単語境界以外 |
リテラル文字や文字クラスが「文字自体」にマッチするのと違い、アンカーは「位置」にマッチします。
検索する文字列が『^
』、置換する文字列が『>
』なら、「行頭に『>
』を挿入する」という意味になります。
単語境界とは、「単語を構成する文字=『\w
』に相当する文字」と「単語を構成しない文字=『\W
』に相当する文字」の間の位置のことです。
『regular expression.
』なら『^regular^ ^expression^.
』の4ヶ所に当てはまります。
『\b.*?\b
』とすれば単語すべてにマッチさせることができます。
しかし、「単語構成文字」が基準なので、『JavaScript
』は1単語でも、『L?K?O
』は1単語とは見なされません。
アンカーは位置にマッチするので、文字クラス内に含めることはできません。
『^
』や『$
』を文字クラスに含めても、その文字自体という意味になります。
つまり、『[^$]
』なら「行頭または行末」ではなくて、「『$
』文字以外」ということになります。
また、『\b
』は文字クラス内のみ、バックスペース文字を表す場合が多いようです。
正規表現には、大抵「大文字と小文字を無視する」というオプションがあります。
これが入っていないと「『to:
』で検索しても『To:
』にマッチしない」といったことが起こります。
言語、ツールによっては、正規表現の一部にのみ大文字と小文字を無視する機能があるものもあります。
例えばRubyでは『(?i:foo)
』という形式を使用できます。
『(
?i:Ruby) Python
』という表現なら、『ruby Python
』や『RuBy Python』にはマッチしますが、
『RUBY PYTHON
』にはマッチしない、ということになります。
括弧内に入れた文字列は、ある場所に記憶されます。(「キャプチャ」と呼びます)
これは『\n
』という表記を使って呼び出すことができます。(nは数字)
同じ単語が2連続で出てくるもの(『merry merry
』みたいなもの)を探すという場合、
『\b(\w+)\b \1
』とすることができます。(ここで使った『\1
』を「後方参照」と呼びます)
こうすると、『\1
』の部分は、『(\w+)
』を使ってマッチしたものと同じものがあるものとして解釈されることになります。
括弧を何個も使う場合は、左の括弧から順に『\1
』、『\2
』、『\3
』となります。
また、後方参照は置換文字列にも使うことができます。
つまり置換文字列内に『\1
』と書けば1番目の括弧、
『\2
』と書けば2番目の括弧でキャプチャされたものがそこに入ることになります。
この場合、言語、ツールによっては『\n
』ではなく『$n
』を使う場合もあるようです。
括弧は『(foo|bar)
』という選択や、『(humbert){2}
』というグループ化など、キャプチャ以外にも使われます。
そのため、キャプチャに使われた数字をわかりやすくするために、キャプチャしない括弧もあります。
それには『(?:foo)
』という表記を使います。
前の例であれば『(?:foo|bar)
』と『(?:humbert){2}
』になります。
「その位置の続くものを確認する」というのが「先読み」です。
対象文字列を『JavaScript Java Applet』として考えてみましょう。
『Java(?=Script)
』は「『Script
』が後に続く『Java
』」にマッチします。
『(?=Script)
』の部分が、「『Script
』が後に続くかどうか」をチェックしているので、
後ろに『Script
』が続かない単なる『Java
』にはマッチしません。
『(?=Script)
』の部分は「後に『Script
』が続く位置」にマッチしていることになります。
この例のマッチは『JavaScript Java Applet』となります。
逆に、『Java(?!Script)
』とすれば、「『Script
』が後に続かないかどうか」をチェックするので、
後ろに『Script
』が続かない単なる『Java
』にマッチさせることができます。
こちらは「否定先読み」と呼びます。
この例のマッチは『JavaScript Java Applet』となります。
言語、ツールによっては、「その位置の前にあるものを確認する」という「戻り読み」「否定戻り読み」がサポートされているものもあります。
(これは『(?<=foo)
』『(?<!=bar)
』という形で使います)
先読みや否定先読み、戻り読みなどをまとめて「前後読み」と呼びますが、
前後読みは位置にマッチするため、戻り読みは先読みとは通常書くべき位置が逆になります。
『(?<Mozilla )Firefox
』とすれば、『Mozilla
』に続く『Firefox
』のみにマッチします。
メタ文字 | 意味 |
---|---|
?+ | 直前の文字を0回または1回繰り返す(強欲) |
*+ | 直前の文字を0回以上繰り返す(強欲) |
++ | 直前の文字を1回以上繰り返す(強欲) |
上のほうで?、*、+は「欲張り」だと書きましたが、「欲張り」な量指定子も“ゆずる”ことがあります。
対象文字列が『"something"
』だとして、検索文字列『".*"
』はこれにマッチします。
しかし、強欲な量指定子『*+
』に置き換えて『".*+"
』とするとマッチしません。
これはなぜかというと、「欲張り」な量指定子を使った『.*
』の部分は、
最後の『"
』がなければ『something"
』にマッチすることになりますが、
正規表現の最後に『"
』があるために、対象文字列の最後の『"
』をゆずっているのです。
『.*+
』の部分が『something"
』にマッチしてしまい、
強欲な量指定子をサポートしていない言語、ツールでも、「アトミックなグループ」というものが使える場合があります。
アトミックなグループでは『(?>foo)
』という表記を使います。
『\w?+
』なら『(?>w+)
』、『\w*+
』なら『(?>w*)
』、『\w++
』なら『(?>w+)
』で代替できます。
『*
』の「直前の文字の0回以上の繰り返し」はよく気をつけないと、間違ったものにまでマッチしてしまいます。
リテラル文字と文字クラスは「文字自体」にマッチすると書きましたが、
『-*
』というような表現は、『-
』や『--------
』だけでなく、
なぜそうなるかというと、「0回以上」ということは「なくてもいい」ということだからです。
空文字列へのマッチは、実質上「位置」へのマッチと似たようなものになります。
検索文字列を『-*
』として一括置換すると、
『-
』や『--------
』が置換されるだけでなく、
『-
』が存在しないすべての場所に置換文字列が挿入されてしまうことになります。
正しい正規表現を書くためには、「どう書けばマッチするか」だけでなく、
「どういう場合にマッチしなければいいか」についても考えてみる必要があります。
*
』≒正規表現の『.*
』とありますが、これは厳密には微妙に違います。
ファイルグロブでは《*
》は「任意の文字を1回以上繰り返す」
つまり、1文字以上あればなんでもいいということになります。
この意味だと、《*.*
》は "foo." や ".bar" は当てはまりません。
しかし、「0回以上」であればマッチすることになります。
正規表現では「1回以上繰り返す」は、《+
》なので、
「任意の文字を1回以上繰り返す」は『.+』となります。
よって、《*.*
》とほぼ等価な表現は『.+\..+
』となります。
これは私の勘違いでした。miauさんご指摘ありがとうございます。
「*.*」は foo. にマッチするはずだし、.bar にマッチしないのは、「*」がドットファイルにマッチしないっていう特殊ルールがあるから・・・ですよね?
ファイルグロブの《*
》は、「0回以上繰り返す(ただし例外として、一番最初のドットは表せない)」ということのようです。
《*.*
》とほぼ等価な表現は、正しくは『(?!\.).*\..*
』となります。
正規表現を使うにあたっては、検索対象がどのようなものか知っておくことが重要です。
『\d{4}[-/]\d{1,2}[-/]\d{1,2}
』で日付と思われる文字列を検索することができますが、
これは『00-0000-00-00
』というものにもマッチしてしまいます。(『00-0000-00-00
』)
しかしこれを厳密にしようと思えばかなり複雑な正規表現になってしまうので、
どの程度の厳密さが必要かを把握しておくことが肝要と言えるでしょう。
冒頭にも書きましたが、正規表現は、言語やツールによって微妙な違いがあるので、
その辺りについては各言語、ツールの説明を参照してください。
本格的に学びたい場合はオライリーの「詳説 正規表現」がおすすめです。
(ただ、この本はプログラミングのことを多少は知らないと難しいかもしれません)
また、PHP正規表現チェッカーですぐに試せるようです。
b:id:K-Onoさんの
について。
実ははてなダイアリーもある(d:id:sleepwlk)んですが、長いこと書いてなかったので、
匿名ダイアリーのほうが多くの人に見てもらえるのではないかと思ってこちらに書いてみました。
*2008-09-23 誤記の修正と、一部加筆しました。
*2008-09-24 ワイルドカードの記述を修正しました。
*2008-09-24 文字クラスの記述の間違いを修正しました。b:id:FunnyBunnyDizzyさんご指摘ありがとうございます。
和式interふぉん ぼぶ http://59.xmbs.jp/washiki/ http://59.xmbs.jp/_ppic_/138/fbf93d.jpghttp://59.xmbs.jp/_alpic_/3/145/55bb7c.jpg http://59.xmbs.jp/_alpic_/5/863/a2b86a.jpg http://59.xmbs.jp/_alpic_/4/839/9c2a93.jpg http://59.xmbs.jp/_alpic_/4/63/61ca3d.jpg 携帯用サイト?ちょっと画像が小さいのはそのせいなのか小さいいせいでちょっと分かりづらいけれど下手ではないと思うアーティスティックと言うかそんな方向に行きたいのかあまり女の子って可愛い感じな絵ではないかな 忘れカバン なめ茸 http://www.geocities.jp/swm60cs/ http://www.geocities.jp/swm60cs/e/eban060614.jpg http://www.geocities.jp/swm60cs/e/etya070720.png http://www.geocities.jp/swm60cs/e/etya070712a.gif http://www.geocities.jp/swm60cs/e/raku070803.jpg 映姫 ツンデレアリス ニーソ 合同に参加しているとのこと筆で色を置いて行く感じの塗りが特徴的 デジタルなのは分かってますが髪型変えて違う服装だと誰なんだかさっぱり わすれな部屋 あゆみ とおる http://www.remus.dti.ne.jp/~kagamino http://www.remus.dti.ne.jp/~kagamino/picture/picture130.jpg http://www.remus.dti.ne.jp/~kagamino/picture/site_title01.jpg http://www.remus.dti.ne.jp/~kagamino/picture/picture129.jpg http://www.remus.dti.ne.jp/~kagamino/picture/DSC01017.jpg 東方花札とか言う品を持って行くようですオリエンタルで合っていると言えばそうだけれどまだトランプの方が使用頻度が高い気がするいやどうせコレクターアイテムでどっちもどっちなのは分かってるけど 頭身の高い絵は描かないのかな ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一部文字化けして飛べないところがあるかもしれないけれどそれはユニコードのせいだから諦めてください なんかおかしいと思ったらルビが邪魔検索してて気付いたがすごく邪魔 どこかでガチャ列が出来て周囲のサークル大迷惑だったとかとか言う話しでああそりゃそうだなと少し思ったこともついでに書いておく出来るようなら配慮を 出来ないなら死ね レミリア・スカーレット合同誌 例大祭5予定 http://araha.bufsiz.jp/kikaku/remigoudou.htm 毛玉合同 http://hakureiin.hp.infoseek.co.jp/kedama.html 東方花札合同制作企画 http://www.remus.dti.ne.jp/~kagamino/hanahuda.html アリス合同誌2 http://project-raiden.hp.infoseek.co.jp/munekyun2.htm ??東方ニーソ合同誌?? http://syunkinden.web.fc2.com/top/kneesocks.htm バトルオンリー http://reticulian.sakura.ne.jp/battlegoudo.html レミ×咲合同企画 http://remilia.sc/ 東方4コマ合同誌 4コマスペカ劇場3 http://www.eonet.ne.jp/~yonaki/4komasupeka3/supeka3kokuchi1.html 紅楼夢で出てまともというか見れそうなのはレミ×咲合同かカプっているのが我慢できるようならだけれどこればかりはもう諦観を抱いて行くしかない 余計ななにか ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓←←← ↓ ↑ →→→↑ なげーよと思ったら俺の勝ちえーなんだろう人が増えたせいなのかいや前から多いけどさらに増えたのか合同誌のページ埋めくらいでしか見なかったようなレベルのそれこそ俺より下手なんじゃないかという人が個人で本出していてこれなら俺もなんて思ったりすると地獄にまっ逆さま中途半端なものとか増えてもと思っているのにわざわざそれ以下なもの自分で増やすことは無い嫌いなものは人のネタで漫画を描く人全般二次創作全部ですね二次創作大好きですよ三次創作的なものです他の作品のネタと掛け合わせるものこっちはまあ少しなら別に良いんですよただ焼肉とケーキとかそういう組み合わせとか無いだろうと別々にならともかく混ぜては食わないだろう完全に人のネタにおんぶ抱っこで満足か金になればそれでいいかそうだな嫌い物は嫌いなもの好きなものは好きなもの両方別に見ます ええ理想としては袈裟まで嫌うが心まで行き届いた人間ですがこんな事書いてどうしようってんだーろいんステーキが食いたい腹減ったああねむいだるいうざい頭痛い本スレをどうにかしてくれ