ラベル Ubuntu 18.04 の投稿を表示しています。 すべての投稿を表示
ラベル Ubuntu 18.04 の投稿を表示しています。 すべての投稿を表示

2020年4月15日水曜日

Google Noto Fonts

家で仕事をする中でドキュメントを書くことが多いのですが、色々とフォントのことが気になります。

ちょっと Unicode 全般について勉強する必要も出てきてて、出来るだけ多くの文字が、豆腐文字になることなく表示できるフォントを探してます。

そのまさに「NO more TOfu」となるフォントがGoogle Noto Fontsの様です。

この Google Noto Fonts をメインマシン(Ubuntu 18.04)に入れてみようと思います。

Google Noto Fonts の入手

Google Noto Fonts は以下のサイトから入手可能です。

Google Noto Fonts/Beautiful and free fonts for all languages

ページ上の [DOWNLOAD ALL FONTS] ボタンをクリックするとダウンロードが始まります。

ダウンロードボタンの下に書いてある通り1.1GBもあるフォントセットです。

Google Noto Fonts のインストール

インストールは上記ページの[Install]の所の説明の通りです。

How to install fonts

Windows/macOS/Linuxでのインストール方法の説明がのっています。

僕は Ubuntu18.04 なので Linux インストールなのですが、「for a single user」か「for all users」かの選択肢があります。

どちらにしようか悩みましたが「for all users」にしておこうかと思います。

その手順は以下の様です。

# for all users
sudo mkdir -p /usr/share/fonts/opentype/noto
sudo cp *otf *otc /usr/share/fonts/opentype/noto
sudo fc-cache -f -v # optional

ちょっと2つ目のコマンドが正常動作しないので、以下としました。

sudo cp *.otf  /usr/share/fonts/opentype/noto

そして fc-cache をして終了です。

notoフォントとして 137フォント が取り込まれてますね。

/usr/share/fonts/opentype/noto: caching, new cache contents: 137 fonts, 0 dirs

2020年4月12日日曜日

Ubuntu 18.04 での POCO C++ Libraries 構築 (1)

POCO C++ Libraries

POCO C++ Libraries とは C++ ベースでのネットワークアプリケーションやインターネットアプリケーションを開発するためのオープンソースのクロスプラットフォームライブラリです。以下のサイトで公開されています(画像をクリックすると開発元のホームページにジャンプします):

デスクトップやサーバ、IoTデバイスや組込みシステムまでの適用が想定されているライブラリであり、 Boost Software License として公開されています。

その特徴は開発元の 「Features」 に示されています。

国内ではサイト「POCO Fanatic」 に色々と詳しい情報が掲載されています。

2018年以降は更新されてないみたいで、POCOのv1.8.1までの話しがのっています。

なお POCO の最新バージョンは 1.10.1 (2020-02-10) みたいです。

今回、ちょっと作りたいものがあって C++ での webフレームワークみたいなのを探していたのですが、 この POCO がひっかかりまして、少し試してみたいと思っています。

Ubuntu 18.04 でのライブラリ構築

僕の開発用メインマシンは Ubuntu 18.04 なので、その上での開発環境整備を進めたく思います。

POCOのダウンロードページ に行くとダウンロード情報が載っていますが、今回は、 COMPLETE EDITION (全てのライブラリが含まれているが外部ライブラリとして OpenSSL, MySQLクライアント, ODBCライブラリが必要) で進めてみようと思います。

まずは同ページにある poco-1.10.1-all.tar.gz をダウンロードして展開します。

そこに README ファイルがあり、そこにインストール方法が書かれています。

Linux では cmake でのインストールか configure でのインストールとの 2者があるみたいです。

今回は Windows 上でもビルドが可能である cmake で試してみようと思います。

Ubuntu 18.04 での cmake ビルド

READMEファイル上の記載では以下のように進めるとのことです。

1. create a cmake-build directory (e.g. in the POCO root directory):
$ mkdir cmake-build

2. and run CMake from there:
$ cd cmake-build
$ cmake ..
$ make -s -j (or build the generated Visual Studio solution on Windows)

今回はこの通りにすすめてみようと思います。

cmake ..の所までは進めたのですが、そこで以下のメッセージが表示されていました:

-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR 
(missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) 
-- Could NOT find APR (missing: APR_INCLUDE_DIR APR_LIBRARY) 
-- Could NOT find APRUTIL (missing: APRUTIL_INCLUDE_DIR APRUTIL_LIBRARY) 
-- Could NOT find Apache2 (missing: APACHE2_INCLUDE_DIR) 
-- Could NOT find MYSQL (missing: MYSQL_INCLUDE_DIR MYSQL_LIBRARY) 
-- Could NOT find PostgreSQL (missing: PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR) 
-- Could NOT find ODBC (missing: ODBC_LIBRARY ODBC_INCLUDE_DIR) 

開発マシンとして色々と開発用ライブラリは入れてきましたが、まだまだ入っていないものが多いのですね。。。

ざっとネットで検索して以下のパッケージを追加でインストールしました。わかり易く apt install での インストールパッケージ表現で記載しておきます。

    sudo apt install openssl-dev libssl-dev libapr1-dev libaprutil1-dev apache2-dev libmysqlclient-dev libpq-dev unixodbc-dev

これで cmake を無事に通りました。その時の表示を参考までに以下に掲載しておきます。

~/POCO/poco-1.10.1-all/cmake-build$ cmake ..
-- Checking for C++14 compiler
-- Checking for C++14 compiler - available
-- Found ODBC: /usr/lib/x86_64-linux-gnu/libodbc.so  
-- Building without tests & samples
-- Using internal sqlite, zlib, pcre, expat, ...
-- SQLite Support Enabled
-- MySQL Support Disabled
-- PostgreSQL Support Disabled
-- ODBC Support Disabled
-- CMake 3.10.2 successfully configured Poco using Unix Makefiles generator
-- Poco package version: 1.10.1
-- Building dynamic libraries
-- [cmake] Installation target path: /usr/local
-- [cmake] Bulid for OS type:  Linux
-- [cmake] Build for OS version: 5.3.0-46-generic
-- [cmake] Build for CPU type:  x86_64
-- [cmake] Build type:    RelWithDebInfo
-- [cmake] Build with cxx flags: -O2 -g -DNDEBUG 
-- [cmake] Build with c flags:  -O2 -g -DNDEBUG 
-- Building: Encodings
-- Building: XML
-- Building: JSON
-- Building: Util
-- Building: Net
-- Building: MongoDB
-- Building: Redis
-- Building: Data
-- Building: Zip
-- Building: PageCompiler
-- Building: File2Page
-- Configuring done
-- Generating done
-- Build files have been written to: ~/POCO/poco-1.10.1-all/cmake-build

無事に cmake が通ったので make でビルドを行わせました。

make の -j オプションということもありますが、途中、結構メモリを使用するみたいです。

途中の様子は以下のパフォーマンスモニタの通りです。

途中でメモリ使用量が30%から90%まで一気に増えていきました。

開発マシンのメモリ搭載量は16GBで、その60%を使うみたいなので、さっくりと10GBぐらいはメモリを消費する形でしょうか。

ただ、そのぐらいまでは一気にメモリを使いますが、それ以降は一つずつライブラリのビルドが行われていましたので、 メモリ使用量は増えず、数分程度でエラーなくビルドが完了しました。


これで無事にライブラリが生成出来たようなので次回は色々と使って試してみるのと、ライブラリの内部調査もしてみようかと思います。

それで現在作ろうとしているものに使えそうと判断したら、少しずつその開発を進めたく思います。

GNU Emacs for Windows における最近の IMEパッチ問題

自分は GNU Emacs 使いなのですが、Windows版の Emacs を使用する場合、IMEパッチの問題がありました。 ざっくり言うと、FSFの正規のリリースバイナリだと日本語変換のIMEに切り替えた時、インラインで候補文字が表示されないという問題です。そのために有志の方々...