2012年02月28日

【CentOS6.2】さよならFirefox3.6、ようこそ3.6カスタマイズ10.0.1

 多分、Firefox利用の最後尾を走っていたmireも、ようやくFirefox3.6とお別れする時がきてしまった。mireは今は日常的にCentOS6をクライアントPCのOSとして活用している為、これ迄、Firefox3.6を利用し続けて来たのだが、この周回遅れのLinux OSもこの度目出度く、やっとFirefox10.0.1に更新されることになった。
 ここ迄とりのこされると、少し名残り惜しい気もしてチェックを外し更新を延ばそうかとも思ったが、やはり、セキュリティ面とSync等の新機能の活用への誘惑には勝てず更新させてしまった次第だ。
 で、Firefox10を開いて先ず困るのが画面構成の変更である。再読込み(reload)ボタンがURL欄内右側に移動しているし、タブが上の方に移動している。しかもステータスバーが無くなっている。mireの場合、ログ情報の確認等でタブでまとめて開いて再読込みしている時もあるので、従来通り位置の変わらない左側にあった方が操作し易いので戻したいし、長いURLリンク内容の確認でステータスバーは重宝していたので、これも復活させたいところだ。幸い、このことは以前、Firefox4を試用した時に解決可能なことは確認できていたが、やはりメモっていないと方法を探すのに時間が必要になってしまったので、ここに備忘の為記述して置く。
続きを読む
タグ:Firefox CentOS6
posted by Mire at 16:59 | Comment(0) | TrackBack(0) | Firefox | このブログの読者になる | 更新情報をチェックする

2012年02月12日

【ICONIA A500】「斜めかけ」でTablet端末をモバイル化

 早いものでAndroidの勉強を始めた為仕方なく、アキバで中古のAndroidのTablet端末「Acer ICONIA A500」を手に入れて4ヶ月経過してしまった。これ迄、金をかけずに使い勝手を高める工夫をして来たが、ようやく落ち着いて来たので、ここに書き留めて置くことにする。mire同様に金のない人、かけたくない人は参考にされたし。

 Acer ICONIA A500は外見は他のAndroid Tablet端末同様、iPadの方向性と同じ外観でただ薄さを求めた設計で持ち易さや操作性は二の次となっている。見栄えで言えば Simple is best と言えばそうだが、Airの意匠の流れのままでApple社がiPADを設計したことには理解出来るが、他社がことごとくAndroidのTabletでそれを踏襲する必要はない筈と思う。実際、10inchクラスのTabletを持とうとすると両手で持たないと安定して持てないし、筐体が金属とガラスで出来ている為、片手だけで持つときは滑りそうでかなりの握力を要する。
 まあ、ベッドサイドでのWebや動画閲覧とかの利用者なら落としたところで布団の上で問題はないが、携帯端末として移動中に利用しようとするとかなり恐い思いをすることになる。当方では、GPSの位置情報利用をテストするに当たり度々、手持ちで移動して試たが、両手でもっていても滑りそうで気が気でなかった。この問題点を解決するには次の対策が必要となる。
  1.  画面のガラス面が割れたり傷が付かない様にする
  2.  落としても本体に衝撃が加わらない様にする
  3.  安全かつ安定的に片手で持てる様にする。
以上の3点について、当方では、次の様に対応した。結果として、ガラス面から落下し尖ったところに当たったら駄目だろうが、そこそこ安定感のある片手保持が出来る様になっている。
続きを読む
posted by Mire at 08:07 | Comment(0) | TrackBack(0) | Android | このブログの読者になる | 更新情報をチェックする

2012年02月03日

【Unicode】半角カナ全角かな置替関数0.2.7 for Python

 前稿の「文書内の全数字を算用数字表現: all2int(), str2int()」では、まだ不正処理の例外について詰めがなされていないものの、取り敢えず、文書内の数字を全て半角算用数字に置替える能力を持たせることが出来た。前稿では、漢数字に焦点を当てた処理だったが、世界には、漢数字以外に言語別に多数の数字が存在する。例えば、日頃PCで使う半角算用数字のことをアラビア数字ともいうが、実際のアラビア文化圏の数字はこれとは異なりあくまで欧州から見て、元々アラビアから輸入した文字を起源とすることから、そう呼ばれているに過ぎない。
 調べてみると、なかなか面白い。やはり、0を発見した多言語のインド文化圏を中心にちょいめには数字とは判らない数字が多く存在する。現代社会では、如何にも西欧文明が頂点を極めたかの様に欧州視点での記述で物事を認識しがちだが、数学はインド文化圏からイスラム文化圏にそして西欧のキリスト教文化圏に移入されることで、ニュートン等のキーパーソンによる発展と産業力が結び付くことで、その様に西欧文化が世界的に突出し一見普遍化したに過ぎない。
 西欧から遠い日本の和算でも微分に近いことはほぼ同時期になされいたのであり、インドイスラム由来の数字が独自の変化をとげ多数存在することは当然と言えば当然のことである。

 本稿では、イスラム圏であるペルシャ数字、アラビア・インド数字やタイ、ラオス、ビルマ等の東南アジア文化圏の数字をWikipedia等で調べ記載させて頂いた。

 ソースコードは末尾に掲載しているが、今回の拡張部分のテスト実行の結果は以下の通りだ。



[mire@localhost ~]$ python jpcode_0_2_6.py

>>>diff(test, dev2num(test))
20.デーヴァナーガリー数字を数へ
- #デーヴァナーガリー数字: '०१२३४५६७८९'
+ #デーヴァナーガリー数字: '0123456789'

>>>diff(test, num2dev(test))
21.数をデーヴァナーガリー数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '०१२३४५६७८९'

>>>diff(test, per2num(test))
22.ペルシア数字を半角算用数字へ
- #ペルシア数字 : '۰۱۲۳۴۵۶۷۸۹'
+ #ペルシア数字 : '0123456789'

>>>diff(test, num2per(test))
23.半角算用数字をペルシア数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '۰۱۲۳۴۵۶۷۸۹'

>>>diff(test, ara2num(test))
24.アラビア・インド数字を数字へ
- #アラビア・インド数字 : '٠١٢٣٤٥٦٧٨٩'
+ #アラビア・インド数字 : '0123456789'

>>>diff(test, num2ara(test))
25.数字をアラビア・インド数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '٠١٢٣٤٥٦٧٨٩'

>>>diff(test, guj2num(test))
26.グジャラーティー数字を数字へ
- #グジャラーティー数字 : '૦૧૨૩૪૫૬૭૮૯'
+ #グジャラーティー数字 : '0123456789'

>>>diff(test, num2guj(test))
27.数字をグジャラーティー数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '૦૧૨૩૪૫૬૭૮૯'

>>>diff(test, gur2num(test))
28.グルムキー数字 を 半角数字へ
- #グルムキー数字 : '੦੧੨੩੪੫੬੭੮੯'
+ #グルムキー数字 : '0123456789'

>>>diff(test, num2gur(test))
29.半角数字 を グルムキー数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '੦੧੨੩੪੫੬੭੮੯'

>>>diff(test, tel2num(test))
30.テルグ数字 を 半角算用数字へ
- #テルグ数字 : '౦౧౨౩౪౫౬౭౮౯'
+ #テルグ数字 : '0123456789'

>>>diff(test, num2tel(test))
31.半角算用数字 を テルグ数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '౦౧౨౩౪౫౬౭౮౯'

>>>diff(test, kan2num(test))
32.カンナダ数字を半角算用数字へ
- #カンナダ数字 : '೦೧೨೩೪೫೬೭೮೯'
+ #カンナダ数字 : '0123456789'

>>>diff(test, num2kan(test))
33.半角算用数字をカンナダ数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '೦೧೨೩೪೫೬೭೮೯'

>>>diff(test, mal2num(test))
34.マラヤーラム数字を半角数字へ
- #マラヤーラム文字 : '൦൧൨൩൪൫൬൭൮൯'
+ #マラヤーラム文字 : '0123456789'

>>>diff(test, num2mal(test))
35.半角数字をマラヤーラム数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '൦൧൨൩൪൫൬൭൮൯'

>>>diff(test, tam3num(test))
36.タミル数字 を 半角算用数字へ
- #タミル数字 : '௦௧௨௩௪௫௬௭௮'
+ #タミル数字 : '012345678'

>>>diff(test, num2tam(test))
37.半角算用数字 を タミル数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '௦௧௨௩௪௫௬௭௮௯'

>>>diff(test, ban2num(test))
38.ベンガル数字を半角算用数字へ
- #ベンガル数字 : '০১২৩৪৫৬৭৮৯'
+ #ベンガル数字 : '0123456789'

>>>diff(test, num2ban(test))
39.半角算用数字をベンガル数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '০১২৩৪৫৬৭৮৯'

>>>diff(test, ori2num(test))
40.オリヤー数字を半角算用数字へ
- #オリヤー数字 : '୦୧୨୩୪୫୬୭୮୯'
+ #オリヤー数字 : '0123456789'

>>>diff(test, num2ori(test))
41.半角算用数字をオリヤー数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '୦୧୨୩୪୫୬୭୮୯'

>>>diff(test, bur2num(test))
42.ビルマ数字 を 半角算用数字へ
- #ビルマ数字 : '၀၁၂၃၄၅၆၇၈၉'
+ #ビルマ数字 : '0123456789'

>>>diff(test, num2bur(test))
43.半角算用数字 を ビルマ数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '၀၁၂၃၄၅၆၇၈၉'

>>>diff(test, khm2num(test))
44.クメール数字を半角算用数字へ
- #クメール数字 : '០១២៣៤៥៦៧៨៩'
+ #クメール数字 : '0123456789'

>>>diff(test, num2khm(test))
45.半角算用数字をクメール数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '០១២៣៤៥៦៧៨៩'

>>>diff(test, tha2num(test))
46.タイ数字 を 半角算用数字へ
- #タイ数字 : '๐๑๒๓๔๕๖๗๘๙'
+ #タイ数字 : '0123456789'

>>>diff(test, num2tha(test))
47.半角算用数字 を タイ数字へ

>>>diff(test, lao2num(test))
48.ラーオ数字 を 半角算用数字へ
- #ラーオ数字 : '໐໑໒໓໔໕໖໗໘໙'
+ #ラーオ数字 : '0123456789'

>>>diff(test, num2lao(test))
49.半角算用数字 を ラーオ数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '໐໑໒໓໔໕໖໗໘໙'

>>>diff(test, tib2num(test))
50.チベット数字を半角算用数字へ
- #チベット数字 : '༠༡༢༣༤༥༦༧༨༩'
+ #チベット数字 : '0123456789'

>>>diff(test, num2tib(test))
51.半角算用数字をチベット数字へ
- #半角算用数字 : '0123456789'
+ #半角算用数字 : '༠༡༢༣༤༥༦༧༨༩'
>>>print all2int(test)

#全数字文字を含む文字列: '拾百千万億兆京垓予穣溝潤正'
#全数字文字を含む文字列: '零千壱正弐潤参溝四穣五予六垓七京八兆九億壱万弐千参百四拾五'
#半角算用数字 : '0123456789'
#全角算用数字 : '0123456789'
#全角漢数字 : '〇一二三四五六七八九'
#全角漢数字(大字) : '〇壱弐参零壹貮貳參肆伍陸柒漆質捌玖'
#全角漢数字(大字) : '零壹贰貳叁參肆伍陆陸柒柒漆捌玖'
#デーヴァナーガリー数字: '०१२३४५६७८९'
#ペルシア数字 : '۰۱۲۳۴۵۶۷۸۹'
#アラビア・インド数字 : '٠١٢٣٤٥٦٧٨٩'
#グジャラーティー数字 : '૦૧૨૩૪૫૬૭૮૯'
#グルムキー数字 : '੦੧੨੩੪੫੬੭੮੯'
#テルグ数字 : '౦౧౨౩౪౫౬౭౮౯'
#カンナダ数字 : '೦೧೨೩೪೫೬೭೮೯'
#マラヤーラム文字 : '൦൧൨൩൪൫൬൭൮൯'
#タミル数字 : '௦௧௨௩௪௫௬௭௮௯'
#ベンガル数字 : '০১২৩৪৫৬৭৮৯'
#オリヤー数字 : '୦୧୨୩୪୫୬୭୮୯'
#ビルマ数字 : '၀၁၂၃၄၅၆၇၈၉'
#クメール数字 : '០១២៣៤៥៦៧៨៩'
#タイ数字 : '๐๑๒๓๔๕๖๗๘๙'
#ラーオ数字 : '໐໑໒໓໔໕໖໗໘໙'
#チベット数字 : '༠༡༢༣༤༥༦༧༨༩'

文中の数字を整数で表示

#全数字文字を含む文字列: '100000'
#全数字文字を含む文字列: '10002000300040005000600070008000900012345'
#半角算用数字 : '123456789'
#全角算用数字 : '123456789'
#全角漢数字 : '123456789'
#全角漢数字(大字) : '1230122345677789'
#全角漢数字(大字) : '12233456677789'
#デーヴァナーガリー数字: '123456789'
#ペルシア数字 : '123456789'
#アラビア・インド数字 : '123456789'
#グジャラーティー数字 : '123456789'
#グルムキー数字 : '123456789'
#テルグ数字 : '123456789'
#カンナダ数字 : '123456789'
#マラヤーラム文字 : '123456789'
#タミル数字 : '123456789'
#ベンガル数字 : '123456789'
#オリヤー数字 : '123456789'
#ビルマ数字 : '123456789'
#クメール数字 : '123456789'
#タイ数字 : '123456789'
#ラーオ数字 : '123456789'
#チベット数字 : '123456789'

[mire@localhost ~]$

 実を言うと、このソースコードは「【Unicode】半角カナ全角かな置替関数 for Python(正式公開版)」のソースに上書きする予定だったが、ここ迄長いソースになると書込み出来なかったので、仕方なく新規の投稿での全コード掲載とさせて頂いた。
            /usr/lib/python2.6/site-packages/mire/jcode.py(前半)


#!/usr/loca/bin/python2.6
# -*- coding: utf-8 -*-
"""
######################################################################
# replacement of japanese full and half pitch characters
# 全角/半角仮名ASCII文字置替
# 1. zen_conv( s : 文字列s内の半角/全角カナASCII文字の置替え
# , mode : None = 設定なし
# : 'han2kata' = 1.半角カタカナを全角カタカナへ(既定値)
# : 'kata2han' = 2.全角カタカナを半角カタカナへ
# : 'han2hira' = 3.半角カタカナを全角ひらがなへ
# : 'hira2han' = 4.全角ひらがなを半角カタカナへ
# : 'asc2zen' = 5.半角英数記号を全角英数記号へ
# : 'zen2asc' = 6.全角英数記号を半角英数記号へ
# : 'han2zen' = 7.半角カタカナ英数記号を全角へ
# : 'zen2han' = 8.全角仮名文字英数記号を半角へ
# : 'kata2hira' = 9.全角カタカナを全角ひらがなへ
# : 'hira2kata' =10.全角ひらがなを全角カタカナへ
# : 'kana2han' =11.全角平片仮名を半角カタカナへ
# : 'num2zen' =12.半角算用数字を全角算用数字へ
# : 'num2han' =13.全角算用数字を半角算用数字へ
# : 'num2knm' =14.半角算用数字を普通の漢数字へ
# : 'knm2num' =15.普通の漢数字を半角算用数字へ
# : 'num2dai' =16.半角算用数字を大字表記数字へ
# : 'dai2num' =17.大字表記数字を半角算用数字へ
# : 'knm2dai' =18.普通の漢数字を大字表記数字へ
# : 'dai2knm' =19.大字表記数字を普通の漢数字へ
# : 'dev2num' :20.デーヴァナーガリー数字を数へ
# : 'num2dev' :21.数をデーヴァナーガリー数字へ
# : 'per2num' :22.ペルシア数字を半角算用数字へ
# : 'num2per' :23.半角算用数字をペルシア数字へ
# : 'ara2num' :24.アラビア・インド数字を数字へ
# : 'num2ara' :25.数字をアラビア・インド数字へ
# : 'guj2num' :26.グジャラーティー数字を数字へ
# : 'num2guj' :27.数字をグジャラーティー数字へ
# : 'gur2num' :28.グルムキー数字 を 半角数字へ
# : 'num2gur' :29.半角数字 を グルムキー数字へ
# : 'tel2num' :30.テルグ数字 を 半角算用数字へ
# : 'num2tel' :31.半角算用数字 を テルグ数字へ
# : 'kan2num' :32.カンナダ数字を半角算用数字へ
# : 'num2kan' :33.半角算用数字をカンナダ数字へ
# : 'mal2num' :34.マラヤーラム数字を半角数字へ
# : 'num2mal' :35.半角数字をマラヤーラム数字へ
# : 'tam3num' :36.タミル数字 を 半角算用数字へ
# : 'num2tam' :37.半角算用数字 を タミル数字へ
# : 'ban2num' :38.ベンガル数字を半角算用数字へ
# : 'num2ban' :39.半角算用数字をベンガル数字へ
# : 'ori2num' :40.オリヤー数字を半角算用数字へ
# : 'num2ori' :41.半角算用数字をオリヤー数字へ
# : 'bur2num' :42.ビルマ数字 を 半角算用数字へ
# : 'num2bur' :43.半角算用数字 を ビルマ数字へ
# : 'khm2num' :44.クメール数字を半角算用数字へ
# : 'num2khm' :45.半角算用数字をクメール数字へ
# : 'tha2num' :46.タイ数字 を 半角算用数字へ
# : 'num2tha' :47.半角算用数字 を タイ数字へ
# : 'lao2num' :48.ラーオ数字 を 半角算用数字へ
# : 'num2lao' :49.半角算用数字 を ラーオ数字へ
# : 'tib2num' :50.チベット数字を半角算用数字へ
# : 'num2tib' :51.半角算用数字をチベット数字へ
# : ※これ以外の指定は'han2kata'の全角カタカナへとなる
# , yen : 「\」を「¥」(既定値)以外で置替えたい文字列を指定
# : 例: 「\」に置替えなら、yen=u'\'
# : 置替えしないなら、 yen=None とする
# , alt_dic : 置替辞書へmap修正追加するものを辞書で指定
# : 例: 矢印を半角文字で表現, 全角スペースを半角2つに置替え
# : alt_dic={u'⇒':'=>', u' ':' '}
# , del_list : 置替辞書から除去する文字をlistで指定
# , my_dic : 固有の置替辞書を指定
# , pass_list: 置替除外する部分をlistで指定
# , debug) : 0:何もしない(既定値), 1以上:debugの為の情報表示あり
# modeの命名規則 : 全角ひらがな=hira, 全角カタカナ=kata, 半角=han, 全角=zen
# , ' to '='2', 半角英数記号(ascii)=asc, 半角算用数字=num
# , 普通の漢数字=knm, 大字表記数字=dai
# ※ 全て置替用辞書に依存し置替する仕組み。正順一致で置替える
#
# 2.replaces( s : 標準関数replace(s, old, new)の様な文字列sの置替関数
# , alt_dic : 上記のreplace()のoldをnewの対を辞書に指定(複数)
# , pass_list : 変換しない領域の文字列をリスト内に指定
# , mode=None : 必要により、z_conv()のmodeで置替辞書を指定
# , del_list=[]: 置替辞書から除去する文字をlistで指定
# , my_dic={} : 固有の置替辞書を指定
# , yen=u'¥' : 「\」を「¥」(既定値)以外で置替えたい文字列を指定
# , debug=0 ): 0:何もしない(既定値), 1以上:debugの為の情報表示あり
#
# 3.モード別関数(関数名のmodeを既定で指定済, zen_conv()関数の全引数の指定が可能)
# 半角カタカナを全角カタカナへ: han2kata() 全角カタカナを半角カタカナへ: kata2han()
# 半角カタカナを全角ひらがなへ: han2hira() 全角ひらがなを半角カタカナへ: hira2han()
# 半角英数記号を全角英数記号へ: asc2zen() 全角英数記号を半角英数記号へ: zen2asc()
# 半角カタカナ英数記号を全角へ: han2zen() 全角カタカナ英数記号を半角へ: zen2han()
# 全角カタカナを全角ひらがなへ: kata2hira() 全角ひらがなを全角カタカナへ: hira2kata()
# 全角平片仮名を半角カタカナへ: kana2han()
# 半角算用数字を全角算用数字へ: num2zen() 全角算用数字を半角算用数字へ: num2han()
# 半角算用数字を普通の漢数字へ: num2knm() 普通の漢数字を半角算用数字へ: knm2num()
# 半角算用数字を大字表記数字へ: num2dai() 大字表記数字を半角算用数字へ: dai2num()
# 普通の漢数字を大字表記数字へ: knm2dai() 大字表記数字を普通の漢数字へ: dai2knm()
# デーヴァナーガリー数字を数へ: dev2num() 数をデーヴァナーガリー数字へ: num2dev()
# ペルシア数字を半角算用数字へ: per2num() 半角算用数字をペルシア数字へ: num2per()
# アラビア・インド数字を数字へ: ara2num() 数字をアラビア・インド数字へ: num2ara()
# グジャラーティー数字を数字へ: guj2num() 数字をグジャラーティー数字へ: num2guj()
# グルムキー数字 を 半角数字へ: gur2num() 半角数字 を グルムキー数字へ: num2gur()
# テルグ数字 を 半角算用数字へ: tel2num() 半角算用数字 を テルグ数字へ: num2tel()
# カンナダ数字を半角算用数字へ: kan2num() 半角算用数字をカンナダ数字へ: num2kan()
# マラヤーラム数字を半角数字へ: mal2num() 半角数字をマラヤーラム数字へ: num2mal()
# タミル数字 を 半角算用数字へ: tam3num() 半角算用数字 を タミル数字へ: num2tam()
# ベンガル数字を半角算用数字へ: ban2num() 半角算用数字をベンガル数字へ: num2ban()
# オリヤー数字を半角算用数字へ: ori2num() 半角算用数字をオリヤー数字へ: num2ori()
# ビルマ数字 を 半角算用数字へ: bur2num() 半角算用数字 を ビルマ数字へ: num2bur()
# クメール数字を半角算用数字へ: khm2num() 半角算用数字をクメール数字へ: num2khm()
# タイ数字 を 半角算用数字へ: tha2num() 半角算用数字 を タイ数字へ: num2tha()
# ラーオ数字 を 半角算用数字へ: lao2num() 半角算用数字 を ラーオ数字へ: num2lao()
# チベット数字を半角算用数字へ: tib2num() 半角算用数字をチベット数字へ: num2tib()
#
# 4.数字文字置替関数
# str2int(s) : 漢数字全角数字含めた数字を整数値化
# all2int(s) : 文字列内の数字を算用数字の整数に置替え

#【更新履歴】
# 2010-05-05 0.0.0  kana2zen()として半角カナを全角のカタカナひらがなへの
# 置替機能及び、そのテストコードを公開
# 2010-05-06 0.0.1  半角への逆置替が欲しくなったので機能拡張し、kana_conv()
# としたdebug時に参照辞書の一部を確認可能にし、指定ミスを
# 発見し易くした長音記号等漏れ等の誤りを補正。多分精度的には
# まだα1クラス。
# 2012-01-13 0.0.1a  通りすがりさんご指摘の'け''ケ'のマッピングミスを修正
# 2012-01-14 0.0.2  この__DOC__のmode名hiraをhan2hiraに変更、その他も改変
# ※0.0.1a以前と非互換。今後は新命名規則でmode名を決定
# 2012-01-15 0.1.0  全角英数記号文字の半角置替をzen2han、その逆をhan2zen
# として追加半角英数記号の全角置替をasc2zen、その逆をzen2asc
# として追加し、関数名をzen_conv()に変更
# 2012-01-16 0.1.0a  引数 yen, alt_dic, del_list, my_dic を追加し個別用途の
# 置替需要に応える様に拡張開始
# 2012-01-16 0.1.1  alt_dic で追加したものに濁点半濁点が処理出来ない不具合解消
# 2012-01-19 0.1.2  利用時タイプの冗長性を軽減の為、mode別関数を作成展開
# 2012-01-22 0.1.2a  コード整理に伴なう軽微な修正とclean up
# 2012-01-22 0.2.0  置替え処理を文字列の頭から正順処理する様に修正(100行→40行)
# 置替文字数上限をなくした。逆順処理はコメント化
# 2012-01-23 0.2.1  辞書との比較を頭文字から始まる文字数分の部分文字列に変更により
# 同一頭文字の多キー存在時のループ回数を低減
# 2012-01-23 0.2.2  pass_listでキー文字列と同じ値の辞書要素を登録し一致分は
# 変更しない様にすることで置替除外箇所の指定を可能にし汎用性を向上
# 2012-01-25 0.2.3  置替用辞書として半角数字と全角数字間置替えするものを追加すると共に
# 置替辞書なしを文字列'None'で指定可能にし、単純な文字列置替関数としての
# 用途にも可能なより汎用的仕様に変更
# 2012-01-26 0.2.4 一般受け狙い?(笑)の汎用関数replaces()追加
# 2012-01-28 0.2.5 整数文字列の整数化関数str2int()の追加
# 2012-01-29 0.2.6 文字列内の整数文字列の算用数字化関数all2int()の追加
# 2012-02-03 0.2.7 アジア地域言語の数文字を追加
#
#【判っている課題】
# my_dic: 著者未使用の為、利用の成否は未確認。
# 数字置替系関数は単純な数字文字間の置替えのみサポート。
# 文字列中の小数点付数字は未対応
# clean up不足 sorry
"""
__author__ = "Mire in Japan"
__date__ = "2012-02-03"
__version__ = '0.2.7'
__copyright__ = 'Copyright (c) 2010-2012 Mire'
__license__ = 'GPL'
__url__ = 'http://pythonlife.seesaa.net/article/247825731.htm '

def replaces(s, alt_dic={}, pass_list=[], mode='None', del_list=[], my_dic={}
, yen=u'¥', debug=0):
"""
複数の文字列の置替ペアの辞書指定して、文字列s上の合致部分を置替た文字列を返す関数
replaces( s : 標準関数replace(s, old, new)の様な文字列sの置替関数
, alt_dic : 上記のreplace()のoldをnewの対を辞書に指定(複数)
, pass_list : 変換しない領域の文字列をリスト内に指定
, mode=None : 必要により、z_conv()のmodeで置替辞書を指定
, del_list=[]: 置替辞書から除去する文字をlistで指定
, my_dic={} : 固有の置替辞書を指定
, yen=u'¥' : 「\」を「¥」(既定値)以外で置替えたい文字列を指定
, debug=0 ): 0:何もしない(既定値), 1以上:debugの為の情報表示あり
"""
return zen_conv(s, mode=mode, alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

allknum = u''

def han2kata(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""半角カタカナを全角カタカナへ"""
return zen_conv(s, mode='han2kata', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def kata2han(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角カタカナを半角カタカナへ"""
return zen_conv(s, mode='kata2han', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def han2hira(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""半角カタカナを全角ひらがなへ"""
return zen_conv(s, mode='han2hira', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def hira2han(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角ひらがなを半角カタカナへ"""
return zen_conv(s, mode='hira2han', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def asc2zen(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""半角英数記号を全角英数記号へ"""
return zen_conv(s, mode='asc2zen', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def zen2asc(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角英数記号を半角英数記号へ"""
return zen_conv(s, mode='zen2asc', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def han2zen(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""半角カタカナ英数記号を全角へ"""
return zen_conv(s, mode='han2zen', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def zen2han(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角仮名文字英数記号を半角へ"""
return zen_conv(s, mode='zen2han', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def kata2hira(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角カタカナを全角ひらがなへ"""
return zen_conv(s, mode='kata2hira', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def hira2kata(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角ひらがなを全角カタカナへ"""
return zen_conv(s, mode='hira2kata', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def kana2han(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角平片仮名を半角カタカナへ"""
return zen_conv(s, mode='kana2han', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def num2zen(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""半角算用数字を全角算用数字へ"""
return zen_conv(s, mode='num2zen', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def num2han(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""全角算用数字を半角算用数字へ"""
return zen_conv(s, mode='num2han', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def num2knm(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""半角算用数字を普通の漢数字へ"""
return zen_conv(s, mode='num2knm', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def knm2num(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""普通の漢数字を半角算用数字へ"""
return zen_conv(s, mode='knm2num', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def knm2dai(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""普通の漢数字を大字表記数字へ"""
return zen_conv(s, mode='knm2dai', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def dai2knm(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""大字表記数字を普通の漢数字へ"""
return zen_conv(s, mode='dai2knm', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

def num2dai(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""普通の漢数字を大字表記数字へ"""
return zen_conv(s, mode='num2dai', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)
def dai2num(s, alt_dic={}, del_list=[], yen=u'¥', pass_list=[]
, my_dic={}, debug=0):
"""大字表記数字を普通の漢数字へ"""
return zen_conv(s, mode='dai2num', alt_dic=alt_dic, del_list=del_list
, pass_list=pass_list, yen=yen, my_dic=my_dic, debug=debug)

続きを読む
posted by Mire at 16:02 | Comment(0) | TrackBack(0) | Pythonプログラミング | このブログの読者になる | 更新情報をチェックする
月額見放題1,000円開始キャンペーンバナー(画像ありver)
紺碧の艦隊 ルパン三世 GREAT CHASE クリックプロモーション
<< 2012年02月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
カテゴリ
タグクラウド
ファン
利用中のオープンソース
最近のコメント
最近の記事
過去ログ
QRコード
レガシーなアプリはいかが?
Dell 法人のお客様ページ
  • 【法人様向け】デル、お得なキャンペーン情報
  • 法人のお客様向け ストレージソリューション
  • 法人のお客様向け ネットワークソリューション
  • 【SOHO法人様向け】デル・オンライン広告限定ページ
  • デル-個人のお客様ページ
  • 【個人のお客様向け】デル・オンライン広告限定ページ
  • オンライン広告限定キャンペーンページ
  • ソフトウェア&周辺機器 パソコン工房
    ツートップインターネットショップ(twotop.co.jp) マウスコンピューター/G-Tune
  • ×

    この広告は1年以上新しい記事の投稿がないブログに表示されております。