matsudada技術ブログ

日々の雑念と備忘録

FF16トロコン後の雑感

注意

ネタバレありです。

いまさらプレイ記録

総評

  • 駄作では無いが凡作以上良作未満といったところ
  • 発売前に期待感を高くしすぎた
  • 売りにしていたストーリーと戦闘があまり良くない
  • 音楽と映像はすごく良い
  • バグが少ないらしいのは偉い
  • とにかくトルガルが可愛い
  • FF7Rシリーズやった方がいい

ストーリー

  • 最初から用語が多すぎてストーリーを理解するのがワンテンポ遅くなる。
  • ベアラーはクリスタル無しで魔法を使えるが奴隷扱いされていて、ナイトはフェニックスのドミナントの祝福により火の魔法が使えるのがしっくりこない。他に祝福受けたやつ出てこないし。
  • 治療できるのはフェニックスのドミナントのみというデザインかと思ってたが敵はケアル使えるので違っていた。
  • 裸や絡み、出血や首切りなどのいわゆるエログロ要素がいまいち必要な感じがせず面白くもなっていない印象
  • 召喚獣の強さに差がありすぎて可哀想

戦闘

  • 相手が使ってくるケアル・プロテスはイライラするだけでバトルの深みが増している気がしない、コンボゲーでコンボを中断させて別の敵を狙う必要がある要素いるか?せめてケアル・プロテスを使う敵が分かりやすいようにアイコンの色とか変えて欲しかった。コンボで削った相手に視界外からケアルされるのはだるい
  • 大技ゲージを突破した時に相手がちょっと怯むだけでリターンが少ない
  • 召喚獣バトルは面白いがタイタン戦(タイタン、デビルタイタン、体内タイタン)、宇宙バハムート戦など長すぎてダレる時も間々ある。特にデビルタイタンは詰まらないし長い
  • 硬い敵多すぎないか
  • ステージのギミックが敵が近くにいると使えないことで雑魚敵スキップできないのはストレス
  • 1ダンジョン内で同じ雑魚敵と戦うことがやや多い
  • 連戦以外は1戦終わったらアビリティのゲージは全回復でよくないか
  • ボスは色々な種類の大技を使えて楽しそう相手だけ楽しそうなのがつまらないのかもしれない
  • ウィルゲージがある相手は基本的にテイクダウンしてから技を連発することになると思うので、ウィルゲージがある間は基本技の連続となってしまい体験としてつまらない時間が長くなる。テイクダウンしてる間は技を連発できて楽しい。
  • アンチQTEだからかもしれないが戦闘中にQTE入っても別に面白くないしテンポが悪い

サブクエス

  • サブクエストの数が多いがくだらないのも多い
  • サブクエストの敵を倒す時に指定されているエリア外に出た敵が全回復するの

マップ

  • ダッシュボタン無いのがヤバすぎる。本当に無いか何回か調べた。
  • 街や隠れ家でタラタラ走るスピードが遅すぎる
  • 特にクライヴたちの隠れ家内は動線酷すぎる少なくともクライブの私室とサロンを繋げて、ミドの工房はデッキに作れ、隠れ家にエレベータ要らない
  • ワープできるオベリスク少なすぎる。少なくともエリア内のロケーションごとには欲しい。

トロコンに関して

ミュトス(全アビリティ取得)

カンベル陥落(オーク~クァール)でAP稼ぎをしたから分かりにくいが余っているAPの量から考えると、APは1周目は古き教えの書、2周目古き教えの書+が装備できるようになったタイミングから装備すれば2周終了位でほぼ全アビリティ覚えられるはず

2周目への備え

2周目でアルテマウェポンを楽に作りたい人は1周目でゴッターダメルンを作らずに素材を持ち越した方が良さそう。 私はゴッターダメルンを作った後だったのでアルテマウェポンは未作成

ニュースまとめ2025-04-03

2025年4月3日の主なニュースは以下の通りです12:

  1. 東京株式市場の大幅下落: 日経平均株価が一時1,600円以上下落し、約8カ月ぶりに35,000円を下回りました。
  2. 円の急伸: 為替市場で円が急速に買われ、ドル/円が147.93円となりました。
  3. トランプ大統領の相互関税発表: トランプ米大統領が新たな相互関税措置を発表し、日本を含む各国からの輸入品に追加関税が課される見通しです。
  4. 財務省への抗議デモの拡大: 全国的に広がるデモが、物価高や増税に対する抗議として続いています。
  5. 大阪・関西万博の準備状況: 2025年に開催予定の大阪・関西万博に向けた準備が進行中です。

総括コメント

4月3日は、経済や政治に関する重要なニュースが多く報じられました。特に、東京株式市場の大幅下落と円の急伸は、投資家心理に大きな影響を与えました。また、トランプ大統領の相互関税発表は、国際貿易における緊張を高める可能性があります。国内では、財務省への抗議デモが広がりを見せており、国民の不満が高まっていることが伺えます。

ニュースまとめ2025-04-02

2025年4月2日の主なニュースは以下の通りです12:

  1. 米国、輸入自動車に25%の関税を発動: トランプ政権が日本を含むすべての国からの輸入自動車に対し、25%の関税を課す大統領令に署名し、これが発効しました。
  2. 日銀短観、製造業の景況感が悪化: 日本銀行が発表した企業短期経済観測調査(短観)によると、製造業の景況感が1年ぶりに悪化しました。
  3. ラピダス、半導体試作ライン稼働へ: 半導体メーカーのラピダスが試作ラインの稼働を開始しました。
  4. 円相場、149円台後半で推移: ニューヨーク外国為替市場で円相場が1ドル=149円台後半で推移しています。
  5. 桜の開花予想: 日本気象協会が2025年の桜の開花・満開予想を発表しました。西日本と東日本では平年並みの開花が予想されています。

総括コメント

4月2日は、経済や気象に関する重要なニュースが多く報じられました。米国の関税措置は世界貿易に大きな影響を与える可能性があり、日銀短観の結果は日本経済の先行きに対する不安を示しています。一方で、桜の開花予想は春の訪れを感じさせる明るいニュースです。

ニュースまとめ2025-04-01

2025年4月1日の主なニュースは以下の通りです1:

  1. 真冬並みの寒さ: 日本各地で季節外れの寒さが続き、雨や雪が降りました。
  2. ラピダスの試作ライン始動: 次世代半導体国産化を目指すラピダスが北海道千歳市で試作ラインを始動しました。
  3. 国土強靱化計画: 政府が災害に強い国づくりを目指す国土強靱化の次期計画素案を公表しました。
  4. 製造業景況感の悪化: 日銀の短観で製造業の景況感が4期ぶりに悪化しました。
  5. 韓国憲法裁判所の決定: 尹錫悦大統領の罷免の可否が4日に宣告される予定です。
  6. ミャンマー地震: 日本政府がミャンマー地震の被災地に医師ら32人の援助隊を派遣しました。
  7. フランスの極右政治家ルペン氏の被選挙権停止: マリーヌ・ルペン氏が公金横領の罪で次期大統領選への出馬禁止となりました。

総括コメント

4月1日は、国内外で重要な出来事が多く報じられました。日本では異常気象と半導体産業の進展が注目され、国土強靱化計画も発表されました。国際的には、韓国の政治情勢やミャンマー地震被害への対応が話題となり、フランスでは極右政治家のルペン氏が被選挙権を停止されるなど、政治的な動きが活発でした。

S3の静的ウェブサイトホスティングの罠

S3の静的ウェブサイトホスティングの罠

現象

Clipboard API を検証しようとして、S3で「静的ウェブサイトホスティング」を使用したところ、https接続できず検証できなかった。

画像をクリップボードにコピーするコード

async function writeClipImg(imgUrl) {
    try {
        const data = await fetch(imgUrl);
        const blob = await data.blob();

        await navigator.clipboard.write([
            new ClipboardItem({[blob.type]: blob})
        ]);
        console.log('Fetched image copied.');
    } catch (err) {
        console.error(err.name, err.message);
    }
}

const targets = document.getElementsByClassName("copyable");
for(let i = 0; i < targets.length; i++){
    targets[i].addEventListener('click', () => {
        writeClipImg(targets[i].getAttribute("src"));
    }, false);
}

対応

https://s3-ap-northeast-1.amazonaws.com/<バケット名>/index.htmlの形式でアクセスするように変更した。

参考

1) https://s3-ap-northeast-1.amazonaws.com/<バケット名>/sample1.jpg (デフォルト(「REST APIエンドポイント」)で使える、パス形式のバケットへのアクセス方法) 2) https://<バケット名>.s3-ap-northeast-1.amazonaws.com/sample1.jpg (デフォルト(「REST APIエンドポイント」)で使える、仮想ホスト型式のバケットへのアクセス方法) 3) http://<バケット名>.s3-website-ap-northeast-1.amazonaws.com/sample.html(ウェブサイトエンドポイントを構成をした時のみ使える)

この内3)のドメインフォーマットでは、https 通信が使えません。

https://qiita.com/Yuhkih/items/1754ac9caf3f12d75946

感想

「静的ウェブサイトホスティング」でしかhtmlの公開ができないのかと思い込んでいた。

Clipboard APIの方はChromeではimage/jpegに対応していないようだったので、使用しないことにした。(サポートしているMIME TYPEのリストは探したが見つからなかった。)

TCPDFで日本語カスタムフォントをPDFに埋めこむ方法

TCPDFで日本語カスタムフォントをPDFに埋めこむ方法

TCPDFでカスタムフォント(IPAexゴシック)を使用してPDFを作成したが、
PDFにフォントが埋め込まれておらず表示する環境によりフォントが変わっていた。
その原因と対応について記載する。

環境

  • PHP 7.2.10
  • setasign\Fpdi ver.2
  • tecnickcom/tcpdf ver.6.2.25
  • IPAexゴシック ver.003.01

現象

コマンドで事前に登録したフォントをPHPで設定しPDFの作成をしていたが、
PDFにフォントが埋め込まれていない。

フォントを登録するコマンド(PDFに埋め込まれない)

php ./vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php -b -t CID0JP -f 32 -i ./resources/fonts/ipaexg00301/ipaexg.ttf

PHPでフォントを設定した部分のコード

$pdf = new Fpdi\TcpdfFpdi();
$pdf->SetFont('ipaexg');
// 以降でファイル内容の作成処理

対応

フォントを登録するコマンドが誤っていた。
IPAexフォントのReadmeにもあるとおり、IPAexフォントはTrueTypeアウトラインベースのOpenTypeフォントTrueTypeフォントの拡張版)なので、TrueTypeで登録する必要がある。

# CID0JPのフォント種類で追加⇒ipaexg.phpファイルしか作成されない
php ./vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php -b -t CID0JP -f 32 -i ./resources/fonts/ipaexg00301/ipaexg.ttf

# TrueTypeUnicodeのフォント種類で追加(-tオプションで指定しない場合も同様)
# ⇒ipaexg.ctg.z, ipaexg.php, ipaexg.z の3ファイルが作成される
php ./vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php -b -t TrueTypeUnicode -f 32 -i ./resources/fonts/ipaexg00301/ipaexg.ttf

また、TCPDFの仕様でそもそもコアフォントとCID-0フォントはPDFに埋め込みされないようである。

The fonts that could be not embedded are only the standard core fonts and CID-0 fonts.

https://tcpdf.org/docs/fonts/

参考

TCPDF をダウンロードして、フリーフォントを埋め込み型で使用する方法
http://logicalerror.seesaa.net/article/374474910.html

感想

浅い理解ではあるが、とりあえず問題は解消。
フォントの知識がまるで無かったので、フォント種類の名前くらいは分かるようにはなった。

ただ疑問なのが、CID0JPって結局なんなのだろうか。 CIDフォントなのは分かるが詳しイことが分からない。Adobe-Japan1-0のこと?

PHP7.2:Excelで編集できるCSVを作る

PHP7.2:Excelで編集できるCSVを作る

Excel 2016以降はUTF-8で扱えるようですので、2013以前の場合のお話です。

このやり方でダウンロードしたCSVファイルをExcelで編集してそのままアップロードできます。
ただ、Excelによる値の変換(ex.全角数字のみの項目は半角数字に変換される、数字の頭に有る0が消える)は起きるので注意してください。

環境

現象

CSVファイルをExcelで開くときに、文字コードSJIS以外の場合はBOMをつけないとSJISで読み込もうとして文字化けしてしまう。

また、開いたCSVファイルを保存したときにExcelが自動変換してしまう。

Excelで開いたとき、保存したときの動作は下表の通り。

区切り文字 文字コード BOM Excelで開いたときの動作 Excelで保存したときの動作
カンマ UTF-8 無し 項目がセルごとに別れる。文字化け カンマ区切り・SJISで保存
カンマ UTF-8 有り 項目がセルごとに別れる。文字化けしない タブ区切り・SJISで保存
カンマ UTF-16 LE 有り セルごとに別れない。文字化けしない 1行が1項目扱い・UTF-16 LEで保存
タブ UTF-8 無し セルごとに別れない。文字化け 1行が1項目扱い・SJISで保存
タブ UTF-8 有り セルごとに別れない。文字化けしない 1行が1項目扱い・SJISで保存
タブ UTF-16 LE 有り 項目がセルごとに別れる。文字化けしない タブ区切り・UTF-16 LEで保存

対応

対応策としては2通り。今回は下のパターンで対応します。

  • カンマ区切りのSJISで出力する
  • タブ区切りのUTF-16 LEで出力する

参考リンクを参考にstream_filterでUTF-16 LEに変換し、タブ区切りで出力する。

// ストリームを開く
$fp = fopen('php://output','w');

// 文字コードを変換するフィルター
stream_filter_prepend($fp, "convert.iconv.utf-8/utf-16le//TRANSLIT");

// BOMをつける
fwrite($fp, "\xEF\xBB\xBF"); //UTF-8

// CSVのヘッダ行出力
$csvHeader = ["1列目", "2列目", "3列目"];
fputcsv($fp, $csvHeader, "\t");

// レコード出力
foreach ($rows as $row) {
    fputcsv($fp, $row, "\t");
}

// ストリームを閉じる
fclose($fp);

参考

[PHP] MacExcelと互換性のあるCSVファイルを出来るだけ効率よく作成する
https://qiita.com/mpyw/items/2795bef3ed561f4cf4e9

PHPのストリームフィルタでCSV読み込み
https://qiita.com/rana_kualu/items/dc99be34b9e2f721b70f

感想

お願いですからUTF-8で処理できるようにしといてください。

というか2016以降を使えという話かもしれないが。

一点分からないのが、なぜ付与するBOMが「\xFF\xFE」(UTF-16 LE)でなく「\xEF\xBB\xBF」(UTF-8)なのか。

BOMもstream_filterで変換されるのだろうか?

もう少し調べる必要がある。