ブックマーク / moriyoshi.hatenablog.com (4)

  • 「ユニコード」で予期せぬ目に遭った話 - moriyoshiの日記

    自分の知らないCJK Ideographのバリエーションがまだあったことに戦慄している pic.twitter.com/kUlyRLDDTM— moriyoshit (@moriyoshit) March 9, 2017 などというツイートをしたところ、思ったより反響があったのでまとめておく。 上記ではあいまいに「バリエーション」などと書いたが、Unicodeとそれを扱う環境においては、バリエーションと一口に言っても次のような状況がある。 意味論的に等価な異なる字形の集合 同じ字形で異なるコードポイントの集合 aは結構なじみ深いと思う。 a-1. 異なるコードポイントにそれぞれ異なる字形が割り当てられているもの 例: 「東」(U+6771) ⇔「东」(U+4E1C) 「斉」(U+6589) ⇔「齊」(U+9F4A) 「高」(U+9AD8) ⇔「髙」(U+9AD9) a-2. 同じコードポイ

    「ユニコード」で予期せぬ目に遭った話 - moriyoshiの日記
    daiki_17
    daiki_17 2017/03/13
  • FFmpegで動画編集をするガイド - moriyoshiの日記

    こんにちは。年末になり、ますますコマンドラインで動画編集をする機会が増えてきているかと思いますが、皆様いかがお過ごしでしょうか。普段触れていないとついつい忘れてしまうffmpegのオプション群。そんなあなたのためのチートシートです。 基礎編 トランスコーディング ffmpeg -i input.mp4 -c:v libx264 -preset medium -c:a libfdk_aac output.mp4 または ffmpeg -i input.mp4 -vcodec libx264 -preset medium -acodec libfdk_aac output.mp4 解説 -c:v オプションは映像コーデックを、-c:a は音声コーデックを指定する。古くはそれぞれ -vcodec -acodec というオプションであった。両者は等価である。 -preset は libx264 の

    FFmpegで動画編集をするガイド - moriyoshiの日記
    daiki_17
    daiki_17 2015/12/18
  • 「:」を引数の名前と型の間に入れられるようしたりにする魔改造 - moriyoshiの日記

    とある言語が func halfOpenRangeLength(start: Int, end: Int) -> Int { return end - start } println(halfOpenRangeLength(1, 10)) // prints "9" のような文法だったのを見てウッと思ったのでやってみた Go のソースを落としてきて を当てて $ (cd src/cmd/gc && rm y.tab.h && make)とする。 package main type Int int func halfOpenRangeLength(start: Int, end: Int) -> Int { return end - start } func main() { println(halfOpenRangeLength(1, 10)) // prints "9" } $ go r

    「:」を引数の名前と型の間に入れられるようしたりにする魔改造 - moriyoshiの日記
    daiki_17
    daiki_17 2014/06/03
  • ターミナルで動画を観る試み - moriyoshiの日記

    Unicode文字セットの一部に、これといって用途がわからないものがある。block elements というものだ。 Block Elements (Range: 2580-259F) マイコン世代にはおなじみのセミグラフィクス用キャラクターだ。なぜ Unicode 時代にもなってこれが必要だったのだろうという疑問はあるが、何にせよ、ノスタルジーをかき立てる身近な存在には違いない。 今日はこれを使ってターミナルで動画を見てみたいと思ったのでこんなコードを書いた。 出力はこんな感じ。 charfb: semigraphics on a Unicode-capable terminal.

    ターミナルで動画を観る試み - moriyoshiの日記
    daiki_17
    daiki_17 2013/06/03
  • 1