2017年8月19日

Fedora26でGnome端末の文字色がカスタマイズできない

Fedora26で、Gnome端末のlsコマンド出力等の色が見づらかったので、「プロファイルの編集」→「色」→「パレット」で色を編集しましたが、反映されませんでした。

原因を調査したところ、最近のfedoraでターミナルの256色表示が有効になっているためのようです。256色表示を有効にしているのは/etc/profile.d/256term.shで、TERMという環境変数がxtermなどであるときに、256表示の有効化を行っています。

そこで、「プロファイルの編集」→「コマンド」タブ→「SHELLの代わりにコマンドを実行する」にチェックを入れ、その下のコマンドを

env TERM=vt100 /bin/bash

とすると、パレットの色が反映されます。

副作用として、gnome-terminal-nautilusをインストールしているとき、nautilus(ファイラー)で右クリックメニューの「端末で開く」が正常に機能しなくなってしまいます。Ctrl+L→Ctrl+Cでパスをコピーするなどして対処しています。

バグフォーラムでも議論になっています。Bug 949279 - provide a way to disable the 256 color feature

2016年11月12日

64bit版LinuxでCataclysm DDAをコンパイルして動かす

Cataclysmの公式サイトでは、32bit版のバイナリしか配布されていないので、64bit版のLinuxでは動きません。そこでコンパイルして動作させます。

まず、Gitからcloneしますが、全部cloneすると遅いので、最新版0.Cのみをcloneします。

git clone --depth 1 https://github.com/CleverRaven/Cataclysm-DDA.git -b 0.C-branch --single-branch

次に、コンパイルに必要なライブラリをインストールします。 以下はOpenSUSEの場合ですが、他のdistroでも似たようなパッケージがあると思います。

sudo zypper install libSDL2-devel libSDL2_ttf-devel libSDL2_image-devel

最後に、コンパイルします。

cd Cataclysm-DDA/
make TILES=1 RELEASE=1

実行します。

./cataclysm-launcher 

なお、環境によってはGit、make、g++といったツールは最初から入っていないことがありますので、エラーが出たらその都度パッケージをインストールすると良いでしょう。

追記

makeのとき、-jX(XはCPUコア数の2倍程度)をつけると良いらしい。

make -j8 TILES=1 RELEASE=1

参考

How to compile - The Cataclysm: Dark Days Ahead Wiki:

Cataclysm-DDA/COMPILING.md at master · CleverRaven/Cataclysm-DDA · GitHub:

2016年5月21日

Firefoxのメニューのアニメーションを無効にする方法

Firefoxのツールバーのボタンを押すと、ブックマークなどのメニューがアニメーションして出てきます。重たいので、アニメーションさせない方法を紹介します。

  1. FIrefoxに拡張機能のStylishを追加します。

  2. こちらのInstall with Stylishをクリックしてuserstyleをインストールします。

以上です。

2015年12月23日

Git Bashの高速化

Gitの高速化ではなく、Git bashの高速化です。

まず、ユーザフォルダ直下に設定ファイル.bashrcを作成します (.bashrcについてはここでは書きませんので、詳しくは検索して調べて下さい)。

.bashrcを作成したら、以下のように記述します。

export PS1='\n$ '

これにより、プロンプトに詳細な情報が表示されなくなるので、その分処理が軽くなると思われます。 なお、プロンプトはもっと詳しくカスタマイズできます。 例えば、現在のディレクトリも表示するには、

export PS1='\n\w$ '

とします。

情報元: Git/Bash is extremely slow in Windows 7 x64

2015年3月5日

Chromeの新しいタブでサムネイル「だけ」消す方法

Chromeの新しいタブに履歴のサムネイルが出るのがいやな人は、新しいタブを変える拡張機能を入れているかと思いますが、ブックマークと検索ボックスは表示させて、サムネイルだけ消したい人もいると思うので、その方法を教えます。

  • Stylishという拡張機能をインストールします。
  • ツールバーにStylishのアイコンが出てくるのでクリックします。
  • 「インストール済みのスタイルを管理」をクリックします。
  • 「新しいスタイルを作成」をクリックします。
  • 「コード」の欄に #most-visited { display:none } !important と入力します。
  • 「適用先」の欄で「正規表現に一致するURL」を選択し、横のテキストボックスに ^.*chrome.*newtab.* と入力します。
  • 「名前」の欄を most-visited などとして(何でもよい)、「保存」をクリックします。
  • 以上で完了です。

なお、他のサイトで表示が崩れるなどの副作用は、ほぼないと思いますが、絶対にないとは限らないので、注意してください。より適切な正規表現を見つけた方はコメントしてくださるとありがたいです。

追記:私の環境では起動時に新しいタブのページを表示するようにしていると、起動時の一回だけ消えてくれないようです。起動時のページとして新しいタブ以外を指定した方がいいかもしれません。

2015年2月20日

もっと簡単なPythonローグライクゲームライブラリ"tdl"

以前Python向けローグライクゲームライブラリとしてlibtcodというものを紹介しましたが、libtcodをベースによりPythonicな使いやすいライブラリを目指したのが"tdl"です。

とても使いやすいのでおすすめ。

パッケージはこちら。

2015年2月19日

輝度(人間の感覚に合った色の明るさ)を基準にした配色ツール

例えば地図の塗り分けなど、同じ明るさで、赤・緑・青など複数の色が欲しいことがしばしばあります。こうした場合、まず試すのはこういったツールで明度を固定して、色相を変化させていくことだと思います。

しかし、同じ明度でも、色相を変えると明るさが違って見えることに気付くと思います。人間の明るさの感覚は色相によって違うために、人間にとっての明るさを等しくするには、輝度という基準を用いなければならないようです。

参考:画像のモノクロ化は輝度で変換しないとヒドイことになる 知らなきゃ絶対損するPCマル秘ワザ

同じ輝度でさまざまな色相の色を得られるようなツールはなかなか見つからなかったのですが、Githubで見つけました。

jQuery Color Picker Sliders

リンク先の真ん中当たりまでスクロールするとA full-blown example showing all the sliders in actionというセクションがあり、下にいろいろなバーがありますが、輝度をそろえるためには下の方の「CIE-Lightness」「CIE-Chroma」「CIE-hue」を使います。「CIE-Lightness」「CIE-Chroma」を適当に設定したうえで、「CIE-hue」を動かすと、最下部のの色サンプルが変化していき、最上部の数値も変化していきます。これらの色は人間の感覚で同じ明るさとなっています。

注意として、「CIE-Lightness」「CIE-Chroma」の値によっては、「CIE-hue」が一部しか表示されません。これは、その値がRGBで表現できないことを意味しているようです。無理やり矢印を無いところに動かすと!マークが出て、最も近い色が表示されます。

※筆者は色彩の専門家ではないので、学術的な正しさは保証できません。

2015年2月16日

AtomのフォントをConsolas+メイリオにする

テキストエディタAtomのフォントの英字部分をConsolas、日本語部分をメイリオにする方法です。
  • Ctrl+Pから、settingと入力してSettings View: Openを選択します。
  • Font familyの欄を"Meiryo"とします。(ダブルクオーテーション必須)
  • Ctrl+Pから、styleと入力してApplication: Open Your Stylesheetを選択します。
  • atom-text-editor以下の波括弧の中に、例えば次のようにコードを挿入します。
atom-text-editor {

    @font-face {
        font-family: "Meiryo";
        src: local("Consolas");
        unicode-range: U+0000-007F;
    }

    @font-face {
        font-family: "Meiryo";
        src: local("Meiryo");
        unicode-range: U+0080-FFFF;
    }

}
  • Ctrl+Sで保存します。

src: local以下のフォント名を適切に設定することで、好きなフォントに設定することができます。

追記:atomの設定のフォント欄を「Consolas Meiryo」とするだけでもいけるかも。

2015年1月10日

Chromeのフォントレンダリングを改善する「Font Rendering Enhancer」

追記:Stylishとcssを使った方が、遅延がなく、比較的安全と思われます。例えばこのようなスタイルを使うとよいでしょう。


私はWindows上のChromeが、IEやFirefoxに比べてフォントのレンダリング(描画)が美しくないことに不満を感じていました。

Font Rendering Enhancerは、Chromeのフォントレンダリングを改善する拡張機能です。Chromeでメイリオを表示すると薄くなってしまうのが、この拡張機能で改善されます。部分強制メイリオちゃんなどと組み合わせるとよいでしょう。

さて、拡張機能といえば心配なのはセキュリティですが、とりあえずこれらの拡張機能のレビュー欄にはセキュリティ上の危険を示唆するレビューはありませんでした。とはいえ、拡張機能のご使用は自己責任でお願いいたします。

2014年11月15日

16x16ビットマップ画像ASCIIフォント

せっかく作ったので公開。


ライセンスはパブリックドメインです。
ttfなどは無し。上の画像をダウンロードしてください。
名前も有った方がいいと思うので一応「PCJCフォント」とでもしておきます(パブリックドメインですから、使用時に名前を明示する必要はありません)。

2014年10月13日

Twitterの「コンテンツを表示」ボタンが動かないときの対処

アドレスのtwitter.comの前にmobile.を付けます。
https://twitter.com/  ->  https://mobile.twitter.com/

(追記)こちらのサイト様がブックマークレットを提供しておられます。
http://hauri.ifdef.jp/develop/twcbtn/index.html

2014年9月4日

テキストエディタ「Komodo Edit」のフォント描画がキレイ!

 
スクリーンショットはフォント「Migu 2M」の12ポイントで、アンチエイリアスの設定を「Anti-Aliased」にして撮影。

Komodo Editはオープンソースのフリーソフト、ダウンロードはこちら。

Notepad++で行間を広げる方法

  1. メニューバーの「設定(T)」をクリック。
  2. 「スタイル設定」をクリック。
  3. 言語の欄で「Global Styles」を選択。
  4. スタイル詳細の欄で「Line number mergin」を選択。
  5. フォントサイズを大きくしていくと、ある所から行間が広がっていく。

2014年8月22日

UnicodeのタイルセットをPython3とPillowで作った(2)

以前こんな記事を書きましたが、さざなみゴシックを使用するとくっきりしたフォントになりました。

スクリプトは以下の通りです。

from PIL import Image, ImageDraw, ImageFont, ImageEnhance

canvas = Image.new('1', (512, 32768))
draw = ImageDraw.Draw(canvas)

font = ImageFont.truetype('sazanami-gothic.ttf', 14)

for i in range(0,65535+1):
    gyou = i // 32
    retu = i % 32
    draw.rectangle([retu*16, gyou*16, retu*16+16, gyou*16+16], '#000')
    draw.text((retu*16, gyou*16), chr(i), font=font, fill='#fff')

alf = canvas.crop((0, 32640, 0+512, 32640+16*3))
canvas.paste(alf, (0, 16))

canvas.save('text_img.png', 'PNG', quality=100, optimize=True)

タイルセットの画像ファイルはこちらです。(ライセンス準拠のため元のフォントとライセンスを同梱しています。リンク先画面上部のメニューからzipファイルをダウンロードしてください。)

2014年8月6日

ブラウザでフォントを強制するとアイコンがおかしくなる

最近はフォントを利用してアイコンを表示するサイトが増えてきました。例えばtumblrやAol readerがそうです。しかし、ブラウザのフォントの設定で、例えばメイリオで描画するよう強制していると、こうしたフォントが文字化けすることになります。

この問題の解決方法は、フォントの設定でWebページが指定したフォントを優先するようにすることです。フォントを強制する拡張機能があれば削除しましょう。

問題は、この問題を解決しつつ、気に入ったフォントを使用するにはどうするかですが、スタイルシートを使って、MSPゴシックなどをメイリオなどに置き換えればいいわけです。この方法についてリンクをいくつか紹介させていただきます。

Firefox用
Chrome用

Firefoxの方はこちらで動作確認していますが、Chromeは仕様変更がけっこう激しいので違う方法を検索する必要があるかもしれません。あるいはSleipnirを使うのも良い手かも。

2014年8月4日

UnicodeのタイルセットをPython3とPillowで作った

 
以前書いた「libtcod + pythonで日本語を表示 」では、Unicodeのタイルセット(文字が文字コードの順に並んだ画像。フォントテクスチャとかビットマップフォントという人もいるかもしれません)を使用しました。

使用したfont.pngは、GNU Unifontをベースにしたものでしたが、字体や行間などの点で、やや使いにくい感じはありました。

そこで、このフォーマットのタイルセットをPython3と、Pillowライブラリを使って作ってみました。

スクリプトは以下の通りです。

from PIL import Image, ImageDraw, ImageFont, ImageEnhance

canvas = Image.new('RGB', (512, 32768), (0, 0, 0))
draw = ImageDraw.Draw(canvas)

font = ImageFont.truetype('mplus-1m-medium.ttf', 14)

for i in range(0,65535+1):
    gyou = i // 32
    retu = i % 32
    draw.rectangle([retu*16, gyou*16, retu*16+16, gyou*16+16], '#000')
    draw.text((retu*16, gyou*16), chr(i), font=font, fill='#fff')

ehc = ImageEnhance.Contrast(canvas)
fin = ehc.enhance(1.25)

fin.save('text_img.png', 'PNG', quality=100, optimize=True)

スクリプトと同じフォルダにM+フォント(mplus-1m-medium.ttf)を置き、実行するとこのような(※)pngファイルが生成されます。

しかし、実際に使ってみると位置がずれているなど、やや問題があります。まあ、でも使えないことはありません。

(※)ライセンスはM+フォントに準ずる

(追記)続きを書きました。

2014年6月7日

libtcod + pythonで日本語を表示

libtcod(Doryen Library)はローグライクゲームを簡単に開発できるC/C++/Python向けの海外製ライブラリです。今回はPythonからlibtcodを用いて日本語を表示してみます。他の言語でも同様にできると思います。

まずはこちらからlibtcod-1.5.2-mingw32.tar.gzをダウンロードします。安定版は1.5.1ですが、1.5.2でキー入力についてのバグが修正されているので、1.5.2をおすすめします。そしてこれを展開します。

適当な所に新しいフォルダ(例えばtest)を作り、libtcod-mingw.dllとSDL.dll、Pythonフォルダ内のlibtcodpy.pyを入れます。

次にこちらのRawボタンのリンク先を保存してfont.pngをダウンロードします。これもtestフォルダに入れます。

testフォルダ内にpythonスクリプト(例えばtest.py)を作成します。こちらのチュートリアルを参考に、以下のようにプログラムします。これをutf-8で保存します。

# -*- coding: utf-8 -*-
import libtcodpy as libtcod
 
#actual size of the window
SCREEN_WIDTH = 30
SCREEN_HEIGHT = 30
 
LIMIT_FPS = 20  #20 frames-per-second maximum
 
 
libtcod.console_set_custom_font('font.png', libtcod.FONT_LAYOUT_ASCII_INROW, 32, 2048)
 
libtcod.console_init_root(SCREEN_WIDTH, SCREEN_HEIGHT, 'python/libtcod tutorial', False)
 
libtcod.sys_set_fps(LIMIT_FPS)
 
while not libtcod.console_is_window_closed():
 
    libtcod.console_set_default_foreground(0, libtcod.white)
 
    libtcod.console_put_char(0, 1, 1, ord(u'試'), libtcod.BKGND_NONE)
    
    libtcod.console_print(0, 1, 2, u'例えばこのように日本語が表示できます')
 
    libtcod.console_flush()

test.pyを起動すると日本語が表示されるはずです。(ただしサンプルプログラムですのでクラッシュします。)

前述したチュートリアルは英語ですが、分かりやすいので読んでみるとためになるかもしれません。なお、ここで紹介した各リソースのライセンスは自己責任で確認して下さい。私は、libtcodがBSDライセンス、font.pngがGPL、チュートリアルのコードがPublic Domainのような気がしますが、保証はできません。

※当然のことながら、これらの作業をする前にPythonをインストールしてください。

(参照)UnicodeのタイルセットをPython3とPillowで作った(仮)

2014年5月26日

lyumo bookで端末を開く一番簡単な方法

  1. PDFビュアーを開く
  2. 「検索」をクリックする
  3. 「コマンド」をクリックする
  4. 「優先」ウィンドウが現れる
  5. テキストボックスを「xterm」と書き換える
  6. 「優先」ウィンドウを閉じる
  7. 「情報」をクリックする
  8. 「このソフトについて」をクリックする
  9. リンク(青い文字列)をクリックする
  10. 終わり!
  11. 次からは手順7からでOK
viあたりは入っているようなので色々できるかもしれませんね。
元に戻すときは「firefox %s」でいいはず。

参照:http://labs.kernelconcepts.de/Publications/Letux-400/

2014年2月27日

PCのディスプレイが最小輝度でも明るすぎる人のためのフリーソフト

PCのディスプレイは最小輝度でも明るすぎることがありますよね。もっと暗くするためにおすすめなフリーソフトが"Dimmer"です。

ダウンロード: http://www.nelsonpires.com/software/dimmer/

Microsoft .NET Framework v1.1以上が必要ですが、たいていのPCにはインストールされていると思います。「Dimmer_v1.0.zip」をクリックしてzipファイルをダウンロードし、適当な場所に解凍します。そしてDimmer.exeを開きましょう。

するとタスクトレイにアイコンが現れます。右クリックメニューからConfigureをクリックすると、暗さが調整できます。残念ながらタスクバーなど暗くならないところもありますが(Win7で確認)、十分実用的です。

解除するときは右クリックメニューからCloseをクリックします。

軽量でポータブルな、とても使いやすいソフトだというコメントが寄せられているこのソフト、制作者はNelson Pires氏で、一切無料かつPayPalでの寄付歓迎、無保証、使用は自己責任となっているようです。

追記:Suniaというソフトもおすすめです。
追記:D-Filterというソフトも見つけました。

2014年2月7日

AutoPatchWorkをGoogleだけ有効にする

AutoPatchWorkは本当に便利ですが、ブログの個別記事などでも有効になってしまったりして、人によっては少しおせっかいだと感じるかもしれません。

そんなときは除外リストでhttp://を指定してやりましょう。(ワイルドカードならhttp://*)するとgoogleではssl接続なのでhttps://で始まるURLですから、有効になります。それ以外のサイトではほとんど反応しなくなります。

Chrome + AutoPatchWorkでしか確認していませんが、FirefoxやAutoPagerizeでもうまくいくのではないかと思います。