お勧めの東方Project作品の選び方

昨日、現時点の東方Project作品を一通り書き出してみる東方Projectの原作の規模感というか、作品の広がりを自分なりに整理できましたので、改めて自分なりの東方Projectのお勧め作品の選び方を書いてみます

必ずしも原作をプレイする必要はない

参考: 東方を楽しむのに必ずしも原作をプレイする必要はないよという神主のお話 - 雑念雑記はてな出張所

東方Projectの原作者のZUNさんは、原作をやらなくてもよい、と言う旨の発言を度々しています

もしも二次創作を楽しんだのだから原作もやらなくてはと義務感で原作をやろうとしている場合、その必要はありません

ナンバリングがなければ順番を気にする必要はない

ZUN氏(以下ZUN):

東方ってシリーズものだと思われるというか,勘違いされることが多いんですけど,「東方はシリーズ」とは一度も言ってないんですよ。「プロジェクト第何弾」とは言ってますけど,それでも「○○2」だ「3」だってやりかたはしてない。まあ,見る人が見ればシリーズなのかもしれませんけどね。

ただ,僕の中ではシリーズではない。前回の作品を好きだった人が,次も好きになるとは限らないというのが,東方とシリーズものとの大きな違いと考えています。

―特集― シューティングの方法論 第2回

ストーリィ性はありますが、ナンバリングがされている作品 (マンガ作品で1巻、2巻や上下巻などの表記のある作品) を除いて、どの作品から始めても問題ありません


既に興味のある作品名があったり、キャラクターがいたりする場合

興味のある作品名があったり、キャラクターがいたりする場合、それを楽しんでください

ただ、作品によって作画が著しく異なる場合がありますので、絵柄で興味が沸いた場合は作画担当者を軸に作品を探した方が良いと思います

参考: どの八雲紫が一番好き?|2ch東方スレ観測所

弾幕シューティングゲームとしての東方Projectに興味がある場合

現在入手が比較的楽なWindows OS向けの弾幕シューティングゲームは以下の通りです

基本的に道中、中ボス、道中、ボスのセットを1ステージとして6ステージでクリアと言う形のシューティングゲームですが、対戦型シューティングや特定の弾幕を自機の特殊能力でクリアしていくような特殊なルールの物もあります

  1. 東方紅魔郷 ~ the Embodiment of Scarlet Devil.
  2. 東方妖々夢 ~ Perfect Cherry Blossom.
  3. 東方永夜抄 ~ Imperishable Night.
  4. 東方花映塚 ~ Phantasmagoria of Flower View.(註1)
  5. 東方文花帖 ~ Shoot the Bullet.(註2)
  6. 東方風神録 ~ Mountain of Faith.
  7. 東方地霊殿 ~ Subterranean Animism.
  8. 東方星蓮船 ~ Undefined Fantastic Object.
  9. ダブルスポイラー ~ 東方文花帖(註2)
  10. 妖精大戦争 ~ 東方三月精(註3)
  11. 東方神霊廟 ~ Ten Desires.
  12. 東方輝針城 ~ Double Dealing Character.
  13. 弾幕アマノジャク ~ Impossible Spell Card.(註2)
  14. 東方紺珠伝 ~ Legacy of Lunatic Kingdom.
  15. 東方天空璋 ~ Hidden Star in Four Seasons.
  16. 秘封ナイトメアダイアリー ~ Violet Detector.(註2)
註1
対戦型シューティングゲーム
註2
ボスキャラクターの弾幕をプレイヤーキャラクターの特殊技能で1つづつクリアしてくタイプのゲーム
註3
キャラクターの立ち絵の作画が、マンガ東方三月精の作画担当の比良坂真琴

上記のゲームの内、一部は 上海アリス幻樂団にて体験版が配布されていますので、手持ちのPCの動作確認を兼ねて先に体験版を遊んでみることをお勧めします

道中とかいいから弾幕だけ遊びたい、あるいはゲームよりも弾幕そのものに興味がある場合

とにかく弾幕だけ遊びたい場合、上記の中でも以下の4作品がお勧めです

  1. 東方文花帖 ~ Shoot the Bullet.(註2)
  2. ダブルスポイラー ~ 東方文花帖(註2)
  3. 弾幕アマノジャク ~ Impossible Spell Card.(註2)
  4. 秘封ナイトメアダイアリー ~ Violet Detector.(註2)

また、ゲームよりも弾幕の種類や映像に興味がある場合、弾幕を特集した書籍 The Grimoire of Marisa もあります

弾幕は動いているものが……と思いますので、個人的にはThe Grimoire of Marisaは入り口としてよりゲームプレイ後の更なるファンアイテムとしてお勧めです

弾幕アクションゲームとしての東方Projectに興味がある場合

弾幕アクションゲーム (対戦型格闘ゲーム格闘弾幕アクションにしたゲーム) は以下の作品です

  1. 東方萃夢想 ~ Immaterial and Missing Power.
  2. 東方緋想天 ~ Scarlet Weather Rhapsody.
  3. 東方非想天則 ~ 超弩級ギニョルの謎を追え
  4. 東方心綺楼 ~ Hopeless Masquerade.
  5. 東方深秘録 ~ Urban Legend in Limbo.
  6. 東方憑依華 ~ Antinomy of Common Flowers.

弾幕アクションゲームは黄昏フロンティアが開発・販売元となっています

各作品の体験版もダウンロードできますので、手持ちのPCの動作確認を兼ねて先に体験版を遊んでみることをお勧めします

楽曲に興味がある場合

音楽CDが主体となる製品は大きく分けて以下の3つになります

また、ZUN's Music Collectionは独立したストーリィの蓬莱人形と、秘封倶楽部のストーリィが語られる蓬莱人形以外の作品に分けることができます

蓬莱人形秘封倶楽部の物語はCD付属のブックレットで語られているため、iTunesなどのダウンロード販売版よりもCDを購入した方がお得ですが、未知の花 魅知の旅のみ元々ブックレットが付属しておらず、CDも入手困難ですのでダウンロード販売版からの購入をお勧めします

幺樂団の歴史 ~ Akyu's Untouched Score

PC-9801版ゲームのサウンドトラックです

  1. 幺樂団の歴史1 ~ Akyu's Untouched Score vol.1
  2. 幺樂団の歴史2 ~ Akyu's Untouched Score vol.2
  3. 幺樂団の歴史3 ~ Akyu's Untouched Score vol.3
  4. 幺樂団の歴史4 ~ Akyu's Untouched Score vol.4
  5. 幺樂団の歴史5 ~ Akyu's Untouched Score vol.5

ZUN's Music Collection

Windows版ゲームのサウンドトラックです

  1. 蓬莱人形 ~ Dolls in Pseudo Paradise
  2. 蓮台野夜行 ~ Ghostly Field Club
  3. 夢違科学世紀 ~ Changeability of Strange Dream
  4. 卯酉東海道 ~ Retrospective 53 minutes
  5. 大空魔術 ~ Magical Astronomy
  6. 未知の花 魅知の旅
  7. 鳥船遺跡 ~ Trojan Green Asteroid
  8. 伊弉諾物質 ~ Neo-traditionalism of Japan.
  9. 燕石博物誌 ~ Dr.Latency's Freak Report
  10. 旧約酒場 ~ Dateless Bar "Old Adam"

黄昏フロンティアより発売されたsound track

弾幕アクションゲームのサウンドトラックです

  1. 幻想曲抜萃 東方萃夢想 ORIGINAL SOUND TRACK
  2. 全人類ノ天楽録 東方緋想天 ORIGINAL SOUND TRACK
  3. 核熱造神ヒソウテンソク 東方非想天則 ORIGINAL SOUND TRACK
  4. 暗黒能楽集・心綺楼 東方心綺楼 ORIGINAL SOUND TRACK
  5. 深秘的楽曲集 宇佐見菫子と秘密の部室
  6. 完全憑依ディスコグラフィ

横断的に東方Porject全体の登場キャラクターに興味がある場合

特定のキャラクターではなく、横断的に東方Project全体の登場キャラクターに興味がある人には東方求聞史紀シリーズがお勧めです

  1. 東方求聞史紀 ~ Perfect Memento in Strict Sense.
  2. 東方求聞口授 ~ Symposium of Post-mysticism.

なお、上記の作品は作中人物の稗田阿求が執筆した作中作の形式を取っています

東方Project世界で起こった様々な出来事に興味がある場合

東方Project世界で起こった様々な出来事を記録した書籍として以下の2冊がお勧めです

  1. 東方文花帖 ~ Bohemian Archive in Japanese Red.
  2. 東方文果真報 Alternative Facts in Eastern Utopia.

なお、上記の作品は作中人物の射命丸文が執筆した新聞や週刊誌という作中作の形式を取っています

ZUNさん執筆の小説に興味がある場合

ZUNさん執筆の小説として以下の2作がお勧めです

マンガで読みたい場合

現在入手が容易なマンガ作品としては以下の作品があります

基本的に表紙絵の絵柄の好みで選べば良いと思います

その上で、敢えて入門作品として1作挙げるなら、完結済みで主人公が裏事情に疎いために入門者目線になっている東方鈴奈庵 ~ Forbidden Scrollery.がお勧めです

なお、シリーズ名はこの記事における便宜的なものです

また、作画担当の方々の敬称は略させていただきます

東方鈴奈庵 ~ Forbidden Scrollery.

作画担当は春河もえです

東方三月精シリーズ

  1. 東方三月精 ~ Strange and Bright Nature Deity (全3巻)
  2. 東方三月精 ~ Oriental Sacred Place (全3巻)
  3. 東方三月精 ~ Visionary Fairies in Shrine. (既刊1-2巻、連載中)

作画担当は比良坂真琴です

作画担当松倉ねむ東方三月精 ~ Eastern and Little Nature Deityは、現在は絶版状態で入手困難です

東方儚月抄シリーズ

東方儚月抄 ~ Silent Sinner in Blue.の作画担当秋★枝東方儚月抄 ~ 月のイナバと地上の因幡の作画担当はあらた としひらです

東方儚月抄には前述の小説版東方儚月抄 ~ Cage in Lunatic Runagate.もありますが、単なるノベライズ、コミカライズではなく、内容はそれぞれ異なります

東方茨歌仙

作画担当はあずまあやです

現時点の東方Project作品を一通り書き出してみる

この記事は何

いつもに益して本当に個人的な覚書です

人に東方Projectを説明する際に、そもそも東方Projectとは何ぞや、などをどこから語ればいいのか自分の中でも纏まりきらない状態になっているので自分用に整理してみます

この記事における東方Project作品の定義

この記事では、東方Project作品をZUNさんがPC-9801版向けに作った所謂旧作の6作品、上海アリス幻樂団で発表した作品群、及びZUNさん公認でこれら作品群と同一世界の作品とします

ややこしいですが、上記の様な定義をしたのは以下の理由によります

  • ZUNさんが二次創作ガイドラインを発表しており、ガイドラインで一括して公認された二次的創作物が大量に存在する (註1)
  • ZUNさんが原作として関わっているが、一次創作物の東方Project作品群と同一世界の話として作られた作品と、同一世界ではない話として作られた作品がある (註2)
註1
東方Projectの場合、殆どの同人誌 (二次的創作物) がガイドラインによって一括して許諾されている
註2
具体的には東方鈴奈庵 ~ Forbidden Scrollery.火鳥風傑 東方Project 火鳥作品集を比べた場合、両方とも原作ZUNと明記された商業流通されている書籍であるが、東方鈴奈庵は一次創作物の東方Project作品群と同一世界の物語であり、火鳥風傑は異なる所謂パロディ同人誌的な異なる世界の物語であるため、この記事では東方鈴奈庵東方Project作品とし、火鳥風傑は対象外とする

PC-9801版ゲーム

所謂旧作の6作品 (全て入手困難)

基本的に弾幕シューティングですが、第一弾東方靈異伝ブロック崩しで、東方夢時空は対戦型シューティングゲームです

  1. 東方靈異伝 ~ Highly Responsive to Prayers.
  2. 東方封魔録 ~ the Story of Eastern Wonderland.
  3. 東方夢時空 ~ Phantasmagoria of Dim.Dream.
  4. 東方幻想郷 ~ Lotus Land Story.
  5. 東方怪綺談 ~ Mystic Square.

Windows版ゲーム

上海アリス幻樂団の作品

基本的に縦スクロールの弾幕シューティングゲームですが、ルールが特殊なものや、対戦型シューティングゲームなどもあります

  1. 東方紅魔郷 ~ the Embodiment of Scarlet Devil.
  2. 東方妖々夢 ~ Perfect Cherry Blossom.
  3. 東方永夜抄 ~ Imperishable Night.
  4. 東方花映塚 ~ Phantasmagoria of Flower View.
  5. 東方文花帖 ~ Shoot the Bullet.
  6. 東方風神録 ~ Mountain of Faith.
  7. 東方地霊殿 ~ Subterranean Animism.
  8. 東方星蓮船 ~ Undefined Fantastic Object.
  9. ダブルスポイラー ~ 東方文花帖
  10. 妖精大戦争 ~ 東方三月精
  11. 東方神霊廟 ~ Ten Desires.
  12. 東方輝針城 ~ Double Dealing Character.
  13. 弾幕アマノジャク ~ Impossible Spell Card.
  14. 東方紺珠伝 ~ Legacy of Lunatic Kingdom.
  15. 東方天空璋 ~ Hidden Star in Four Seasons.
  16. 秘封ナイトメアダイアリー ~ Violet Detector.

黄昏フロンティアの作品

弾幕アクションゲーム (ざっくりと対戦型格闘ゲームの、格闘が弾幕アクションになったもの) です

  1. 東方萃夢想 ~ Immaterial and Missing Power.
  2. 東方緋想天 ~ Scarlet Weather Rhapsody.
  3. 東方非想天則 ~ 超弩級ギニョルの謎を追え
  4. 東方心綺楼 ~ Hopeless Masquerade.
  5. 東方深秘録 ~ Urban Legend in Limbo.(註3)
  6. 東方憑依華 ~ Antinomy of Common Flowers.
註3
PS4に移植されており、PS4版はキャラクターと続編東方憑依華への導入となるストーリィが追加されている

Sound Track

書籍にCDが付属している作品もありますが、ここではCDが主体となっている作品のみを記載します

幺樂団の歴史 ~ Akyu's Untouched Score

PC-9801版ゲームのsound track

  1. 幺樂団の歴史1 ~ Akyu's Untouched Score vol.1
  2. 幺樂団の歴史2 ~ Akyu's Untouched Score vol.2
  3. 幺樂団の歴史3 ~ Akyu's Untouched Score vol.3
  4. 幺樂団の歴史4 ~ Akyu's Untouched Score vol.4
  5. 幺樂団の歴史5 ~ Akyu's Untouched Score vol.5

ZUN's Music Collection

ブックレットがストーリィ形式になっており、蓬莱人形 ~ Dolls in Pseudo Paradiseのみ独立したストーリィ、その他が秘封倶楽部の物語になっています

  1. 蓬莱人形 ~ Dolls in Pseudo Paradise(註4)
  2. 蓮台野夜行 ~ Ghostly Field Club
  3. 夢違科学世紀 ~ Changeability of Strange Dream
  4. 卯酉東海道 ~ Retrospective 53 minutes
  5. 大空魔術 ~ Magical Astronomy
  6. 未知の花 魅知の旅(註5)
  7. 鳥船遺跡 ~ Trojan Green Asteroid
  8. 伊弉諾物質 ~ Neo-traditionalism of Japan.
  9. 燕石博物誌 ~ Dr.Latency's Freak Report
  10. 旧約酒場 ~ Dateless Bar "Old Adam"
註4
希少枚数のCD-R版と、2018現在も流通するプレス版があり、収録されている楽曲は同一だがブックレット内容が異なっている
註5
東日本大震災の影響で急遽ブックレットなしで作成され、その後再版されていなかったためCDは希少となっているが、2018年iTunesGoogle Playで配信されるようになった

黄昏フロンティアより発売されたsound track

サークル黄昏フロンティアが開発・発売元となっているゲームのsound trackです

  1. 幻想曲抜萃 東方萃夢想 ORIGINAL SOUND TRACK
  2. 全人類ノ天楽録 東方緋想天 ORIGINAL SOUND TRACK
  3. 核熱造神ヒソウテンソク 東方非想天則 ORIGINAL SOUND TRACK
  4. 暗黒能楽集・心綺楼 東方心綺楼 ORIGINAL SOUND TRACK
  5. 深秘的楽曲集 宇佐見菫子と秘密の部室
  6. 完全憑依ディスコグラフィ

書籍

シリーズ名は公式の物ではなくこの記事で便宜上付けたものです

シリーズとしてまとめはしましたが、ナンバリングがない物は独立して読めます

東方三月精シリーズ

  1. 東方三月精 ~ Eastern and Little Nature Deity (全1巻) (註4)
  2. 東方三月精 ~ Strange and Bright Nature Deity (全3巻)
  3. 東方三月精 ~ Oriental Sacred Place (全3巻)
  4. 東方三月精 ~ Visionary Fairies in Shrine. (既刊1-2巻、連載中)
註4

東方三月精 ~ Eastern and Little Nature Deityのみ絶版、入手困難

ただし、付属CDは同一楽曲は東方三月精 ~ Strange and Bright Nature Deity.2巻に収録されている

東方儚月抄シリーズ

  1. 東方儚月抄 ~ Silent Sinner in Blue. (上、中、底、全3巻)
  2. 東方儚月抄 ~ Cage in Lunatic Runagate. (全1巻)
  3. 東方儚月抄 ~ 月のイナバと地上の因幡 (上、下、全2巻)

東方文花帖シリーズ

  1. 東方文花帖 ~ Bohemian Archive in Japanese Red.
  2. 東方文果真報 Alternative Facts in Eastern Utopia.

東方求聞史紀シリーズ

  1. 東方求聞史紀 ~ Perfect Memento in Strict Sense. 記憶する幻想郷 (註5)
  2. 東方求聞史紀 ~ Perfect Memento in Strict Sense.
  3. 東方求聞口授 ~ Symposium of Post-mysticism.
註5

月刊Comic Rex 2006年12月号に読み切り形式で掲載

書籍版東方求聞史紀の前日単にあたるマンガで、単行本未収録のため、2018年現在入手困難

その他、ノンシリーズ

註6

とらのあな専売の同人誌

収録作の六十年ぶりに紫に香る花がZUNさんによる寄稿であり本記事定義の東方Project作品にあたる

2018年の抱負の進捗状況 (11月1日時点)

この記事は自分向けの記事です

もうちょっと頻繁にblogを更新する

自分と知っては合格基準を満たしているのですが (合格基準を低めにしないと、未達成に慣れて何もしなくなる)、もう少しアウトプットを増やしたいとも考えています


また、それはそれとして、最終的に自分の文書を発表するなら自分の管理するドメイン配下だよね、とも思い、もっと気軽に日々の事を書く場を独自ドメイン配下に用意しようかとも考え始めています

その場合、静的CMSを自作するところから始まるのですが

体重を60kgまで落とす、改め体重60kg前後を維持する

の朝が61.10kgでの朝が62.30kgでした

から風邪を引いていて、体が温まるものとか、高カロリイなものを食べて寝ていたら、この1週間で1.5kgほど太りました

所謂リバウンドが始まっているので、11月中に61.00kgまで、年内に60.00kg未満まで戻したいと考えています

HTML5.2の仕様書を一通り読む、改め HTML LS Developer's Editionを読む

HTML5.2の仕様書を一通り読むは完全に未達成であきらめており、現在は来年の目標とする「HTML LS Developer's Editionを読む」の助走期間と考えています

応用情報技術者試験に合格する、改め情報処理安全確保支援士を受験する

に情報処理安全確保支援士を記念受験してきました

知識を問われる問題が壊滅的で要するに勉強不足が露呈した結果になりました

また来年

OneDriveの「重要なフォルダーの保護」を停止すると、重要なフォルダーからファイルが消える話

「オンラインストレージサーヴィスで同期を解除するとローカルファイルが削除される」と言うのはよく聞く罠ですが、それがWindows 10の「重要なフォルダーの保護」でも発生するため、注意喚起としてこの記事を書きました

オンラインストレージサーヴィスで同期を解除したりアカウントを削除すると同期していたローカルファイルが削除される、と言う挙動自体はOneDrive以外でもありがちな挙動ですが (私はこの挙動自体どうかと思いますが、それはそれとして)、それが重要なフォルダー (デスクトップ、ピクチャー、ドキュメント) で発生するので知らないと問題が発生しかねないと懸念し、詳細情報として再現手順を以下に説明します


追記

本事象について、筆者自身がWindows 10 October 2018 Updateの最初のリリース直後に気づき記事にしたこともあり、Windows 10 October 2018 Updateによりユーザーデータが消える事象を連想してしまいますが、本件は別事象となります

しかし、Windows 10 October 2018 Updateの最初のリリースにてユーザーデータが消える事象自体と、本件で問題視している「重要なフォルダーの保護」機能自体は関連があります (ややこしい)

Windows 10 October 2018 Updateの最初のリリースにてユーザーデータが消える事象についての詳細については Updated version of Windows 10 October 2018 Update released to Windows Insiders - Windows Experience BlogWindows Experience Blog をご覧ください


再現手順

対象フォルダ (今回はデスクトップ) のファイルの確認

今回はデスクトップにテストデータとして 新しいテキスト ドキュメント.txt を用意しました

OneDriveの「重要なフォルダーの保護」でデスクトップを保護する

  1. タスクバーのOneDriveアイコンから「その他」、「設定」を選択する
  2. 表示されたMicrosoft OneDrive画面から「自動保存」タブを選択し、「重要なフォルダーを保護する」の「フォルダーの更新」ボタンを押す
  3. 表示された「重要なフォルダーの保護を設定」画面で (デフォルトで、デスクトップ、写真、ドキュメントがチェックされているので) 今回はデスクトップのみをチェックした状態にし、「保護の開始」ボタンを押す
  4. デスクトップ上の 新しいテキスト ドキュメント.txt にOneDriveで同期されているファイルに付くチェックアイコンが付いたことを確認する

デスクトップの「重要なフォルダーの保護」を停止とファイルの確認

  1. 再び「重要なフォルダーの保護を設定」画面を表示し、デスクトップの項目の「保護の停止」を押す
  2. 保護を無効にしますか?
    ・デスクトップのすべてのアイテムは OneDriveに残ります。
    ・新しいファイルは、OneDriveで保護されていない別のフォルダーに追加されます。

    と言う文言を確認し「保護の停止」をクリックする
  3. デスクトップ上のファイルが消え、ファイルの場所 と言うOneDriveでデスクトップファイルを同期していたフォルダーへのショートカットが作成されていることを確認する
  4. なお、ファイルの場所 からOneDriveでデスクトップファイルを同期していたフォルダーへ移動すれば、デスクトップ上から消されたファイルを得る事が出来ます

OneDriveへの要望

「重要なフォルダーの保護」でフォルダーを保護した後、保護の停止を行うと、「重要なフォルダー」からファイルが消されるが、消さないよう変更すべきである

まず、保護の停止時に表示される説明からファイルの削除を読み取ることが出来ない

また、説明があっても重要なフォルダー(特にドキュメントフォルダー)にはアプリケーションの設定ファイル等を保存されている場合があり、一時的にでもファイルが削除されると障害を招きかねない

よって、少なくともファイルを消さずに保護を無効にする方法を用意し、デフォルトとすべきである

.NETの System.Io.Compression で非圧縮のZIPファイルを作れなかったが対象が固定だったので直接バイナリファイル作って強引に解決した話

この話は件名が全てなので、タイトルを読んで「ああ、そうですね」と思った人は読んでも新たな知見は得られません

EPUBファイルを作るためにmimetypeを非圧縮でZIP化したいが System.Io.Compression で上手く出来ない

EPUBの仕様ではmimetyeファイルは非圧縮でzipファイルの最初に格納されていなければなりません

さらに mimetype ファイルは、圧縮または暗号化をしてはならず(must)、そして ZIP ヘッダにエキストラフィールドがあってはならない(must not)。

3.3 OCF ZIP コンテナのメディアタイプの識別 - PUB Open Container Format (OCF) 3.0.1(日本語訳版)

そこで .NETSystem.Io.Compression 名前空間を使ってみます

ZipFileExtensionsCreateEntryFromFile メソッドに [CompressionLevel]::NoCompression を指定して圧縮するPowerShellを書いてみます

using namespace System.IO.Compression;

[ZipArchive] $zipArchive = [ZipFile]::Open('sample.epub',[ZipArchiveMode]::Update);

[ZipFileExtensions]::CreateEntryFromFile($zipArchive, 'mimetype', 'mimetype', [CompressionLevel]::NoCompression) > $null;

$zipArchive.Dispose();

しかし、確認してみると mimetype ファイルは Deflate で圧縮されてしまっています

駄目じゃん

と言う訳で圧縮済みのZIPをバイナリファイルとして直接作ることにした

ZIP化の対象ファイルが可変の内容であれば別なツールを使うか、最悪 ZIP File Format Specification を読む羽目になっていたところですが、今回対象としているEPUBmimetye ファイルは幸い内容が完全固定で、しかも小さいです

つまり、最初からZIP化済みのファイルを用意しておいて複製して使ったり、或いは固定のZIP化したバイナリィデータを知っておけばそれを書き込んで直接ZIPファイルを生成したりして今回はこの問題を回避できます

てな訳で、以下のコードで問題回避

[Byte[]] $byteData = ('80', '75', '3', '4', '10', '0', '0', '0', '0', '0', '99', '140', '53', '77', '111', '97', '171', '44', '20', '0', '0', '0', '20', '0', '0', '0', '8', '0', '0', '0', '109', '105', '109', '101', '116', '121', '112', '101', '97', '112', '112', '108', '105', '99', '97', '116', '105', '111', '110', '47', '101', '112', '117', '98', '43', '122', '105', '112', '80', '75', '1', '2', '30', '3', '10', '0', '0', '0', '0', '0', '99', '140', '53', '77', '111', '97', '171', '44', '20', '0', '0', '0', '20', '0', '0', '0', '8', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '255', '129', '0', '0', '0', '0', '109', '105', '109', '101', '116', '121', '112', '101', '80', '75', '5', '6', '0', '0', '0', '0', '1', '0', '1', '0', '54', '0', '0', '0', '58', '0', '0', '0', '0', '0');

[System.IO.File]::WriteAllBytes("./sample.epub", $byteData);

バイナリファイルの保存はWindows PowerShellなら Set-Content './sample.epub' -Value $byteData -Encoding Byte;PowerShell Coreなら Set-Content -Path './sample.epub' -Value $byteData -AsByteStream; でも行ける感じです

我ながら強引ですが、そんな感じで一つ

2018年の抱負の進捗状況 (10月1日時点)

この記事は自分向けの記事です

もうちょっと頻繁にblogを更新する

毎月、この進捗以外に何か記事は公開できているので、無理せずこんな感じで

暫くはEPUB関連の記事になりそうです

体重を60kgまで落とす、改め体重60kg前後を維持する

の朝が59.90kgでの朝が61.10kgでした

最近は60.00kgから61.50kgの間をうろうろしています

もう少し減らしたいところではあるのですが、一方でリバウンドと騒ぐほどでもなく、体脂肪率は9.0%から10%程度を保って安定しているのでこんな感じでもいいかともったりもしています


また、からNHKみんなで筋肉体操を2日に1回やるようにしました

最初は全然できなかったり、翌日筋肉痛で苦しんだりしましたが最近は一応一通りの運動ができるようになりました

始めて1か月未満なので見た目や数字には全然結果が表れていませんが、仮に結果が現れなくてもやらないよりやっている方が健康的だと思うのでしばらく続けてみます

HTML5.2の仕様書を一通り読む、改め HTML LS Developer's Editionを読む

準備だけはじめていますが、まだ表に出せていません

表に出さないとやる気が維持できないので、年内には途中でも何でも何かを表に出して、来年あたりから本気で注力したいところです

仕様書読むのってマラソンだな、と最近認識を新たにしております

応用情報技術者試験に合格する、改め情報処理安全確保支援士を受験する

試験実施日はになります

今のところ記念受験になりそうな感じです

また来年

PowerShell 6.1のConvertFrom-Markdownを使ってMarkdownファイルからHTMLファイルを生成してみる

PowerShell 6.1を導入したので、追加されたConvertFrom-MarkdownコマンドレットでMarkdownファイルからHTMLファイルを生成してみます

Markdown系のコマンドレットを確認する

とりあえず Get-HelpConvertFrom-Markdown のパラメータとか戻り値とか確認してみます

pwsh >Get-Help -Name 'ConvertFrom-Markdown'

NAME
    ConvertFrom-Markdown

SYNTAX
    ConvertFrom-Markdown [-Path] <string[]> [-AsVT100EncodedString] [<CommonParameters>]

    ConvertFrom-Markdown -LiteralPath <string[]> [-AsVT100EncodedString] [<CommonParameters>]

    ConvertFrom-Markdown -InputObject <psobject> [-AsVT100EncodedString] [<CommonParameters>]

(以下略)

ざっくり -PathMarkdown ファイル渡せばいいらしいです

ちなみに Get-Help ConvertFrom-Markdown -Online を実行したら https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Markdown に行けますが、現時点では 404 Not Foundだそうです

実際に動かしてみる

sample.md という名前で以下の様なファイルを用意して

# サンプルマークダウンファイル

これはサンプル用のマークダウンファイルです

[example.com](http://example.com)

ConvertFrom-Markdown-Path に渡してやります

pwsh >[Microsoft.PowerShell.MarkdownRender.MarkdownInfo] $md = ConvertFrom-Markdown -Path 'sample.md';
pwsh >Format-List -InputObject $md;

Html               : <h1 id="section">サンプルマークダウンファイル</h1>
                     <p>これはサンプル用のマークダウンファイルです</p>
                     <p><a href="http://example.com">example.com</a></p>

VT100EncodedString :
Tokens             : {Markdig.Syntax.HeadingBlock, Markdig.Syntax.ParagraphBlock, Markdig.Syntax.ParagraphBlock, Markdig.Extensions.AutoIdentifiers.HeadingLinkReferenceDefinition}

pwsh >$md.Html;
<h1 id="section">サンプルマークダウンファイル</h1>
<p>これはサンプル用のマークダウンファイルです</p>
<p><a href="http://example.com">example.com</a></p>

戻り値の PowerShell.MarkdownRender.MarkdownInfo オブジェクトの Html プロパティにbody要素の内容となる文字列が格納されているようです

ちなみに、void要素があった場合、XMLとしてはパースエラーになりますので ('<root>',$md.Html,'</root>' -Join '') -as [Xml.XmlDocument] とかやっても null が帰ってきます

ここで「じゃあvoid要素がったら終了タグを追加して」とかやりだすと話が大きくなるので今回は雑に行きます

pwsh >'<!DOCTYPE html><html><head><meta charset="utf-8"><title>sample</title></head><body>' + $md.html + '</body></html>' > sample.html;

我ながら本当に雑だな、おい

PowerShell 6.x からはリダイレクト演算子 (>) で出力したテキストファイルは UTF-8 (BOMなし) で出力されますのでHTMLファイルならこれでいでいけます (ちなみに PowerShell 5.1 までは UTF-16 でした)


上記のままだと html 要素に lang 属性がないとか、title 要素が固定とか、出力ファイル名が固定とか色々ありますので、欲しい機能を色々足せば完成です

そんな感じで