Google スライドのフォントを一括で編集するためのアドオンです。
- すべてのテキスト変換: スライド内のすべてのテキストを指定されたフォントに変換(デフォルト: Noto Sans JP)
- 全スライド対象
- 指定ページのみ
- 英数字変換: 英数字と一部の記号(%, /, #, @, &, +, -, *)を指定されたフォントに変換(デフォルト: Montserrat)
- 全スライド対象
- 指定ページのみ
- 日本語フォント変換: 全てのテキストを指定されたフォントに変更(デフォルト: Kosugi)
- 全スライド対象
- 指定ページのみ
- 注: 全てのテキストを変更した後、英数字を変更する機能を使うことで、結果的に日本語だけフォント変更することを想定
注意: 使用するフォントは設定ファイル(config.prod.js または config.test.js)で変更できます。
- 元の Bold スタイルを維持
- テーブル内のテキストにも対応
- グループ化されたオブジェクト内のテキストにも対応
- Google Workspace Marketplace からアドオンをインストール(内部アプリのリンクは機密情報のため削除)
- ブラウザを更新
- Google スライドで「拡張機能」→「フォントを編集」から機能を利用
Google スライドを開き、「拡張機能」→「フォントを編集」メニューから以下の機能を選択できます:
- スライド内すべてのテキストを変換(設定ファイルで指定されたフォントを使用)
- 英数字と一部の記号を変換(ページを指定)
- 英数字と一部の記号を変換(スライド内すべて)
- すべてのテキストを変換(日本語用フォント)
注意: メニューのテキストと使用するフォントは設定ファイルでカスタマイズできます。
update-google-slides-1/
├── src/ # GASソースコード
│ ├── config.prod.js.example # 本番環境用設定テンプレート
│ ├── config.test.js.example # テスト環境用設定テンプレート
│ ├── config.prod.js # 本番環境用設定(.exampleからコピーして作成)
│ ├── config.test.js # テスト環境用設定(.exampleからコピーして作成)
│ └── config.js # 現在の環境設定(自動生成)
├── docs/ # ドキュメント・画像
├── Makefile # ビルドツール
├── switch-clasp.sh # プロジェクト切り替えスクリプト
├── .clasp.prod.json.template # 本番環境のclasp設定テンプレート
├── .clasp.test.json.template # テスト環境のclasp設定テンプレート
├── .clasp.prod.json # 本番環境のclasp設定(.templateからコピーして作成)
├── .clasp.test.json # テスト環境のclasp設定(.templateからコピーして作成)
└── .clasp.json # 現在の環境設定(自動生成)
注意: .clasp.json は switch-clasp.sh によって .clasp.prod.json または .clasp.test.json から自動生成されます。直接編集する必要はありません。
フォント名やメニューテキスト、scriptIdなどの設定は環境別の設定ファイルで管理されています。
src/config.prod.js.example: 本番環境用の設定テンプレートsrc/config.test.js.example: テスト環境用の設定テンプレートsrc/config.prod.js: 本番環境用の設定(.exampleからコピーして作成)src/config.test.js: テスト環境用の設定(.exampleからコピーして作成)src/config.js: 現在の環境の設定(switch-clasp.shによって自動生成)
注意:
src/config.jsはswitch-clasp.shによってconfig.prod.jsまたはconfig.test.jsから自動生成されます。直接編集する必要はありません。- 初回セットアップ時は、
.exampleファイルをコピーして実際の設定ファイルを作成してください。
各環境の設定ファイル(config.prod.js または config.test.js)で以下の項目を設定できます:
-
scriptId: Google Apps ScriptのスクリプトID
-
フォント設定 (
fonts)all.family: すべてのテキストに適用するフォント(デフォルト: "Noto Sans JP")japanese.family: 日本語フォント(全てのテキストをこのフォントに変更後、英数字を変更することで日本語だけ変更する想定)(デフォルト: "Kosugi")english.family: 英数字と一部の記号に適用するフォント(デフォルト: "Montserrat")english.weight: 英数字フォントのウェイト(デフォルト: 500.0)english.targetChars.pattern: 英数字フォント変換対象の文字パターン(正規表現)
例:すべてのテキストに「游ゴシック」を使用する場合:
all: { family: "游ゴシック", ... }
-
メニュー設定 (
menu)title: メニューのタイトルitems: 各メニューアイテムのテキストall: すべてのテキストを変換するメニューアイテムenglishByPage: 英数字をページ指定で変換するメニューアイテムenglishAll: 英数字を全スライドで変換するメニューアイテムjapanese: 日本語テキストを変換するメニューアイテム
- 本番環境の設定を変更する場合:
src/config.prod.jsを編集 - テスト環境の設定を変更する場合:
src/config.test.jsを編集 - 変更後は
make push-testまたはmake push-prodでデプロイしてください
環境を切り替えると、switch-clasp.sh が自動的に適切な設定ファイルを config.js にコピーします。
- 新しい Google スライドを作成
- 「拡張機能」→「Apps Script」をクリック
- GAS エディタで「プロジェクトの設定」(歯車アイコン)→「スクリプト ID」をコピー
- 設定ファイルを作成:
# テスト環境用設定ファイルを作成
cp src/config.test.js.example src/config.test.js
# エディタで src/config.test.js を開き、YOUR_TEST_SCRIPT_ID_HERE を実際のスクリプトIDに置き換え
# 本番環境用設定ファイルを作成(本番環境も使用する場合)
cp src/config.prod.js.example src/config.prod.js
# エディタで src/config.prod.js を開き、YOUR_PROD_SCRIPT_ID_HERE を実際のスクリプトIDに置き換え
# clasp設定ファイルを作成
cp .clasp.test.json.template .clasp.test.json
# エディタで .clasp.test.json を開き、YOUR_TEST_SCRIPT_ID_HERE を実際のスクリプトIDに置き換え
# 本番環境用clasp設定ファイルを作成(本番環境も使用する場合)
cp .clasp.prod.json.template .clasp.prod.json
# エディタで .clasp.prod.json を開き、YOUR_PROD_SCRIPT_ID_HERE を実際のスクリプトIDに置き換えまたは、make setup-testコマンドを使用することもできます:
make setup-test SCRIPT_ID=<取得したスクリプトID># テスト用プロジェクトにコードをプッシュ
# (内部で switch-clasp.sh が .clasp.test.json を .clasp.json にコピーします)
make push-test
# スライドをリロードして、メニューから各機能をテスト# 本番用プロジェクトにコードをプッシュ
# (内部で switch-clasp.sh が .clasp.prod.json を .clasp.json にコピーします)
make push-prod補足: make push-test や make push-prod は、内部で switch-clasp.sh を呼び出して .clasp.json を切り替えてから clasp push を実行します。
アドオンを公開するには、以下の手順が必要です:
- デプロイ: GAS エディタから「デプロイ」→「新しいデプロイ」で拡張機能としてデプロイ
- GCP での公開設定: Google Workspace Marketplace SDK で内部アプリとして公開設定
詳細な手順は参考サイトを参照してください。
注意: 本番用スクリプト、テスト用スライド、GCPプロジェクト、内部アプリのリンクは機密情報を含むため、公開リポジトリからは削除しています。
ページ指定機能の追加とメニューの改善
- メニューの改善
- 機能ごとにグループ化し、視認性と統一感を向上
- 内部構造の汎用化
- 裏側の実装を汎用化したため、設定ファイルを変更するだけで使用するフォントを簡単に変更できるようになりました
Noto Sans 変換機能の拡張
- ページ指定機能を追加
- Noto Sans 変換に「ページを指定」オプションを追加
- 重たいスライドでもページ単位で処理できるため、エラーを回避可能
- Montserrat 変換と同様に、全スライド対象と指定ページのみの 2 つのオプションを提供
Noto Sans 変換機能を追加
- Noto Sans 変換機能を追加
- スライド内のすべてのテキストを Noto Sans JP フォントに変換する機能を追加
- Kosugi 変換と同様に、すべてのテキスト要素に対応
Montserrat 変換対象の拡張
- 変換対象に以下の記号を追加:
%,/,#,@,&,+,-,* - 変換対象の完全なリスト:
- 大文字と小文字のアルファベット
- 数字
- 特殊文字:
%,/,#,@,&,+,-,*
新機能追加と機能改善
- Kosugi 変換機能を追加
- スライド内のすべてのテキストを Kosugi フォントに変換する機能を追加
- グループ化オブジェクトへの対応
- グループ化されたオブジェクト内のテキストにも変換処理を適用
初回リリース
- Montserrat 変換機能
- フォント置換対象: 英数字、
%,/,#,@,& - 元の文字列が Bold であれば Bold を維持
- 結合された表オブジェクトでは左上セルのみ置換
- フォント置換対象: 英数字、
