Affinity 3のレイアウトペルソナでdvipdfmx由来のPDFをインポートするときの文字化け対策

はじめに 先日無償化が発表された Affinity 3。旧来のPublisher、Designer、Photoが統合され、ペルソナ を切り替えることで各機能を利用できる新しい体系に生まれ変わりました。 本記事では、その中の レイアウトペルソナ(DTP機能)に dvipdfmx で生成したPDFをインポートする際、日本語が文字化けする問題の原因と対策を考察します。 問題の発生条件 項目 内容 対象ソフトウェア Affinity 3(レイアウトペルソナ) バージョン 3.0.1.3808 インポートファイル dvipdfmx で日本語フォントを用いて生成されたPDF 発生現象 PDF内の日本語テキストが文字化けする 問題の状況 dvipdfmx で出力したPDFをAffinity 3のレイアウトペルソナにインポートすると、インポート前のページプレビューの段階から既に日本語テキストが文字化けしています。 さらに、Affinity 3が「見つからないフォント」として認識したものを、BIZ UDP明朝など別の日本語フォントに置き換えても、文字化けは解消されません。テキストの見た目のデザイン(フォントの持つ雰囲気)だけが変化し、文字の羅列は意味不明なままです。 なお、インポート時の読み込み対象を 「ページ」 または 「アートボード」 のいずれに設定しても、この現象は同様に発生します。 原因の切り分けと考察 切り分け まず、問題が dvipdfmx 側にあるのか、Affinity側にあるのかを切り分けます。 他のPDFビューアで確認する: 生成されたPDFをAdobe Acrobat Readerや一般的なウェブブラウザで開きます。 結果の判断: 他のビューアでも文字化けする場合: dvipdfmx の設定に問題がある可能性が高いです。 Acrobat等では正常だが、Affinity 3でのみ文字化けする場合: Affinity 3側のPDF解釈に起因する問題と考えられます。(今回のケースはこちらに該当します) 原因の考察:エンコーディングの問題か? フォントを正常なものに置き換えても文字化けが解消されないという現象は、単なる「フォントファイルが見つからない」という問題ではないことを強く示唆しています。 これは、PDF内部の 文字エンコーディング情報(どのバイトがどの文字に対応するかを定義する情報。専門的には CMap と呼ばれます)をAffinity 3が正しく解釈できていない可能性が高いです。 つまり、文字の「形」を収めたフォントデータはPDF内に存在していても、どのコードをどの「形」に割り当てるかの対応表が失われている、あるいはAffinity 3に無視されている状態と考えられます。そのため、dvipdfmx 側で単純にフォントの埋め込み方式を変えるだけでは解決しない可能性があり、根深い問題と言えます。 有効な対策 「テキストを曲線に変換」オプションが存在しない問題 回避策として一般的な「テキストを曲線(アウトライン)に変換」ですが、Affinity 3のPDFインポートダイアログには、そもそもこの選択肢自体が存在しません。 そのため、Affinity 3内で完結する手軽な解決策は現状なく、PDF生成側での調整、あるいは代替ツールでの対応が必須となります。 対策1: (非推奨) dvipdfmxでの設定見直しは極めて困難 原因がAffinity 3側のPDF解釈にある可能性が高い以上、dvipdfmx側での対応は非常に困難を極めます。 ...

11月 7, 2025 · 1 分 · 104 文字 · gorn

Raspberry Pi 400上のollamaでGemma 3 270Mを動かす

先日公開されたGoogleの軽量大規模言語モデル「Gemma 3 270M」は、そのコンパクトさからエッジデバイスでの活用が期待されています。 前回の記事では、llama.cppを利用してRaspberry Pi 400で直接モデルを動かす方法を確認しました。 今回は、より手軽にLLMを管理・実行できるプラットフォームであるollamaをRaspberry Pi 400に導入し、Gemma 3 270Mを動作させる手順をまとめます。 なぜollamaを使うのか? ollamaは、モデルのダウンロード、管理、実行をシンプルなコマンドで完結させてくれるツールです。APIサーバーも内蔵しているため、他のアプリケーションとの連携も容易になります。Raspberry PiのようなデバイスでLLMを「サービス」として動かしたい場合に非常に便利です。 ollamaのインストール ollamaのインストールは、公式が提供しているスクリプトを実行するだけです。非常に簡単です。 curl -fsSL https://ollama.com/install.sh | sh インストール後、以下のコマンドでバージョン情報が表示されれば成功です。 ollama --version ollamaサービスの有効化 インストールしただけでは手動で起動する必要があります。マシンの起動時に自動でollamaが起動するように、systemdサービスを有効化しておきましょう。 sudo systemctl enable --now ollama 以下のコマンドでサービスが正常に動作しているか確認できます。 systemctl status ollama Active: active (running)と表示されていれば問題ありません。 Gemma 3 270Mモデルの実行 ollamaでモデルを実行するにはollama runコマンドを使用します。今回は、Hugging Face Hubで公開されているunslothによるGGUF形式のモデルを利用します。 ollama run hf.co/unsloth/gemma-3-270m-it-GGUF:Q2_K モデルの選択について hf.co/unsloth/gemma-3-270m-it-GGUF: Hugging Face Hub上のモデルリポジトリを指定しています。ollamaは直接Hugging Face Hubからモデルをダウンロードできます。 Q2_K: モデルの量子化レベルを指定しています。Q2_Kは2ビット量子化されており、ファイルサイズとメモリ使用量を大幅に削減できるため、Raspberry Pi 400のようなメモリが限られたデバイス(4GB)に最適です。 初回実行時には、モデルファイルのダウンロードと展開が行われます。完了すると、プロンプトが入力可能な状態になります。 まとめ ollamaを利用することで、Raspberry Pi 400という手軽な環境に、非常に簡単にローカルLLM環境を構築できました。モデルの切り替えや管理も容易なため、様々な軽量モデルを試すのに最適なプラットフォームと言えるでしょう。 常時起動させておけば、家庭内LANからAPI経由でアクセスするAIアシスタントとして活用したり、IoTデバイスの制御に自然言語インターフェースを追加したりと、様々な応用が考えられます。皆さんもぜひ、手元のRaspberry PiでローカルLLMの世界に触れてみてください。

8月 21, 2025 · 1 分 · 66 文字 · Me

WSL2上のUbuntu 20.04上に分析環境を構築する

前提条件 項目 内容 使用ディストリビューション Ubuntu 20.04 LTS Python 環境 Anaconda PC 環境 SLAT 等必要なハードウェアが揃っていること 更新履歴 日付 内容 2021/08/18 Pyenvの仕様変更に追随 https://github.com/lewagon/dotfiles/pull/90 WSL 2環境を準備 Windowsの機能の有効化を行う: Linux用Windowsサブシステムと仮想マシンプラットフォームを有効化 コントロールパネルのWindowsの機能の有効化または無効化から行う Microsoft StoreからUbuntu 20.04LTSをインストール WSL 2にバージョンを変更 WSLの一覧は以下のコマンドで確認できる。 wsl -l -v このコマンドの結果は例えば以下のようになる。 NAME STATE VERSION * Ubuntu-18.04 Stopped 1 docker-desktop Stopped 2 Ubuntu-20.04 Running 2 docker-desktop-data Stopped 2 Ubuntu 20.04をWSL 2にするには以下のようなコマンドを実行する。 wsl --set-version Ubuntu-20.04 2 AnacondaでJupyter環境を構築する Python環境の構築はデータサイエンティストを目指す人のpython環境構築 2016を参考にして、一部のステップをアップデートしています。 アップデートの内容としては、参考記事では旧版のAnacondaがベースとなっているため、サーチパスを変更した結果、pyenvとAnacondaが一部競合を起こしていますが、これは現在のAnacondaでは解決している問題なので、変更を反映しています。また、それに伴い、bashの設定の変更をするためのステップを追加しています。 pyenvをインストールする git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init --path)"' >> ~/.echo 'eval "$(pyenv init -)"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc Anacondaをインストールする pyenv install -l | grep ana # 最新版を確認する pyenv install anaconda3-yyyy.MM # 先のステップで確認した最新版にする pyenv rehash pyenv global anaconda3-yyyy.MM conda update conda conda init bash source ~/.bashrc dotnet coreをインストールする (オプション) wget -nv https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo add-apt-repository universe sudo apt update sudo apt install apt-transport-https -y sudo apt install dotnet-sdk-5.0 -y # 現状の最新版の5をインストールする venv環境を用意する (オプション) 現在、Pythonのパッケージはconda、pipとなっており、どれを使えるかは状況次第です。ただ、幾つかのパッケージはpip環境しかないこともあり、venv環境もあると便利です。condaとpipの混用は危険であり避けるべきです。 ...

4月 2, 2021 · 1 分 · 169 文字 · Me

Ubuntu 20.04 Analytics Environment

Ubuntu 20.04 Analytics Environment 先日、リリースされた、Ubuntu 20.04をベースにWSL上で分析環境を作ってみました。 Microsoft StoreからUbuntu 20.04LTSをインストール Microsoft Storeからインストール後にとりあえず、一旦起動してインストールを完了 ユーザを作成する Windows Terminalのsettings.jsonを編集して、Windows Terminalに追加 Ubuntuを最新化する sudo apt update && sudo apt upgrade Jupyer環境をWSL上に構築する 2020の手順でJupyter環境を構築 Microsoft Repository keyを取ってくる wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb 現状ではまだ、パッケージがほぼ無いように思える。 まだ、Microsoftのサイト上でも19.04までしか紹介されていないのはパッケージがまだないからでしょうね。

5月 3, 2020 · 1 分 · 38 文字 · Me

Jupyer環境をWSL上に構築する 2020

前提条件 項目 内容 使用ディストリビューション Ubuntu 18.04 LTS Python 環境 Anaconda AnacondaでJupyter環境を構築する Python環境の構築はデータサイエンティストを目指す人のpython環境構築 2016を参考にして、一部のステップをアップデートしています。 環境構築方法 pyenvのインストール git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc anacondaのインストール pyenv install -l | grep ana # 最新版を確認する pyenv install anaconda3-yyyy.MM # 先のステップで確認した最新版にする pyenv rehash pyenv global anaconda3-yyyy.MM conda update conda conda init bash # PowerShellの場合、powershellに変える source ~/.bashrc Windows Terminal Previewのインストール MicrosoftストアからWindows Terminalをインストールする。

4月 19, 2020 · 1 分 · 72 文字 · Me