workpytools 0.1.12__tar.gz → 0.1.18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. {workpytools-0.1.12 → workpytools-0.1.18}/PKG-INFO +53 -3
  2. workpytools-0.1.12/src/workpytools.egg-info/PKG-INFO → workpytools-0.1.18/README.md +526 -508
  3. {workpytools-0.1.12 → workpytools-0.1.18}/pyproject.toml +4 -2
  4. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/help_gen.py +51 -0
  5. workpytools-0.1.18/src/workpytools/common/theme_colors.py +25 -0
  6. workpytools-0.1.18/src/workpytools/data/help.html +778 -0
  7. workpytools-0.1.18/src/workpytools/processing/help.py +51 -0
  8. workpytools-0.1.18/src/workpytools/processing/iro.py +243 -0
  9. workpytools-0.1.18/src/workpytools/processing/merioall.py +126 -0
  10. workpytools-0.1.12/README.md → workpytools-0.1.18/src/workpytools.egg-info/PKG-INFO +558 -476
  11. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools.egg-info/SOURCES.txt +4 -0
  12. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools.egg-info/entry_points.txt +2 -0
  13. workpytools-0.1.12/src/workpytools/processing/help.py +0 -47
  14. {workpytools-0.1.12 → workpytools-0.1.18}/LICENSE +0 -0
  15. {workpytools-0.1.12 → workpytools-0.1.18}/setup.cfg +0 -0
  16. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/__init__.py +0 -0
  17. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/cli.py +0 -0
  18. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/__init__.py +0 -0
  19. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/browser_preview.py +0 -0
  20. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/clipboard.py +0 -0
  21. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/clustering.py +0 -0
  22. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/config.py +0 -0
  23. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/embedding.py +0 -0
  24. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/logging.py +0 -0
  25. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/markdown_html.py +0 -0
  26. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/outline_parse.py +0 -0
  27. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/output.py +0 -0
  28. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/powerpoint.py +0 -0
  29. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/shape_cluster.py +0 -0
  30. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/shortcuts.py +0 -0
  31. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/table_shapes.py +0 -0
  32. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/tabular.py +0 -0
  33. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/textfile.py +0 -0
  34. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/common/walk.py +0 -0
  35. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/data/__init__.py +0 -0
  36. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/data/app.ico +0 -0
  37. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/data/synonym.tsv +0 -0
  38. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/data/user.dic +0 -0
  39. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/__init__.py +0 -0
  40. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/base.py +0 -0
  41. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/clipfmt.py +0 -0
  42. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/clipmd.py +0 -0
  43. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/clipview.py +0 -0
  44. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/cwc.py +0 -0
  45. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/denoise.py +0 -0
  46. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/ikko.py +0 -0
  47. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/kukiri.py +0 -0
  48. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/lsdir.py +0 -0
  49. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/mdtsv.py +0 -0
  50. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/mokuji.py +0 -0
  51. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/nagasa.py +0 -0
  52. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/outline.py +0 -0
  53. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/profiler.py +0 -0
  54. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/seiretsu.py +0 -0
  55. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/shortcut.py +0 -0
  56. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/tbl.py +0 -0
  57. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/touka.py +0 -0
  58. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/umekomi.py +0 -0
  59. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools/processing/vv.py +0 -0
  60. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools.egg-info/dependency_links.txt +0 -0
  61. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools.egg-info/requires.txt +0 -0
  62. {workpytools-0.1.12 → workpytools-0.1.18}/src/workpytools.egg-info/top_level.txt +0 -0
  63. {workpytools-0.1.12 → workpytools-0.1.18}/tests/test_cli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workpytools
3
- Version: 0.1.12
3
+ Version: 0.1.18
4
4
  Summary: Collection of Python processing utilities
5
5
  License: MIT
6
6
  Requires-Python: >=3.11
@@ -68,6 +68,8 @@ workpytools/
68
68
  │ ├── seiretsu.py # PowerPointのシェイプを表に変換せず格子状に整列
69
69
  │ ├── nagasa.py # PowerPointのシェイプの幅・高さを最大値に統一
70
70
  │ ├── umekomi.py # PowerPointのテキストボックスをシェイプに埋め込む
71
+ │ ├── merioall.py # テーマ・マスター・全スライドの和文フォントをメイリオに統一
72
+ │ ├── iro.py # 既存スライドの独自色化・テーマカラー変更・既定書式の一時適用
71
73
  │ ├── help.py # 全コマンドのヘルプ一覧をブラウザで開く
72
74
  │ └── shortcut.py # 全コマンドのスタートメニューショートカットを作成/削除
73
75
  ├── tests/ # src/workpytools と同じ階層構造でテストを配置
@@ -275,6 +277,14 @@ tools umekomi
275
277
  # 実際には変更せず、埋め込み対象になる組み合わせだけを確認する
276
278
  tools umekomi --dry-run
277
279
 
280
+ # テーマ・スライドマスター・全スライドの和文フォントをメイリオに統一する
281
+ # (欧文フォントは変更しない。表・SmartArt等は対象外)
282
+ tools merioall
283
+
284
+ # 既存スライドを独自色化した上で、テーマカラー(アクセント1〜6)を
285
+ # 新配色に変更し、シェイプ・矢印・テキストボックスの既定書式を一時適用する
286
+ tools iro
287
+
278
288
  # 全コマンドのヘルプ一覧(doc/help.html)をブラウザで開く
279
289
  tools help
280
290
  # 単体実行ファイルはtoolh.exe(他コマンドと違いhelp.exeという名前ではない)
@@ -385,7 +395,7 @@ size, mtime, depth`の固定列で一覧化します。サイズは既定でKB
385
395
  場合のみ解決します(`WScript.Shell`経由)。複数フォルダを指定して起点が
386
396
  重複する場合はフルパスで自動的に重複除去されます。
387
397
 
388
- ### PowerPointをCOM操作するコマンド(outline / ikko / mokuji / tbl / seiretsu / nagasa / umekomi)
398
+ ### PowerPointをCOM操作するコマンド(outline / ikko / mokuji / tbl / seiretsu / nagasa / umekomi / merioall / iro
389
399
 
390
400
  いずれも実行中のPowerPointを対象にします(`pywin32`経由、`python-pptx`は
391
401
  「開いているファイル」を操作できないため使いません)。役割は以下の通りです。
@@ -399,6 +409,8 @@ size, mtime, depth`の固定列で一覧化します。サイズは既定でKB
399
409
  | `seiretsu` | 選択したシェイプを表に変換せず格子状の位置に整列する |
400
410
  | `nagasa` | 選択したシェイプの幅・高さを最大値に統一する |
401
411
  | `umekomi` | 選択したシェイプの上に重ねて置かれたテキストボックスをシェイプ本体に埋め込む |
412
+ | `merioall` | テーマ・スライドマスター・全スライドの和文フォントをメイリオに統一する |
413
+ | `iro` | 既存スライドを独自色化した上でテーマカラーと既定図形の書式を統一する |
402
414
 
403
415
  - `outline`はクリップボードのテキストを**Markdown見出し(`#`等)/タブ区切り
404
416
  /空行区切り**の3形式から自動判別し、抽出した項目ぶんのスライドを
@@ -450,12 +462,50 @@ size, mtime, depth`の固定列で一覧化します。サイズは既定でKB
450
462
  `ikko`と同じくUndo境界を必ず打つため、Ctrl+Z一回で元に戻せます。
451
463
  `--dry-run`で実際に変更せず対象を確認できます。2つ以上選択されていない
452
464
  場合はエラーになります
465
+ - `merioall`は、SVGを図形に変換した際などにテキストボックスのフォントが
466
+ 遊ゴシックのまま残る問題への対処として、プレゼンテーション内の
467
+ **和文(東アジア言語)フォントだけ**をメイリオへ一括統一します
468
+ (欧文フォントは変更しません)。対象は次の3箇所です。
469
+ 1. **テーマのフォント**(`ThemeFontScheme`の`MajorFont`/`MinorFont`)
470
+ — `+本文のフォント`/`+見出しのフォント`を参照している文字に影響
471
+ 2. **スライドマスター・スライドレイアウト上の全プレースホルダー**
472
+ 3. **全スライド上の既存シェイプ内の文字**
473
+ (グループ化されたシェイプは再帰的に中まで辿ります)
474
+
475
+ 引数はなく、選択状態に関わらずプレゼンテーション全体が対象です。
476
+ 表・SmartArt等の特殊オブジェクトは対象外(`HasTextFrame`を持つ
477
+ シェイプのみ処理)です。他のPowerPoint操作コマンドと同じくUndo境界を
478
+ 必ず打つため、Ctrl+Z一回で元に戻せます
479
+ - `iro`は、資料の配色を「深緑×レンガ色×グレー」の対比配色に統一
480
+ したいという用途向けに、以下の3ステップを順番に行います。
481
+
482
+ 1. **既存スライドの独自色化**: 全スライド上の全シェイプ(グループ内も
483
+ 再帰的に含む)の塗りつぶし色・枠線色・文字色のうち、テーマカラーを
484
+ 参照しているものを検出し、**現在の見た目のままRGB固定値に変換**
485
+ します。これにより、次のステップでテーマカラーを変更しても
486
+ 既存スライドの見た目は変わりません
487
+ 2. **テーマカラーの変更**: アクセント1〜6を新配色(`#1E7145`の深緑、
488
+ `#A8493D`のレンガ色、`#808080`のグレーとそれぞれの薄いバリエー
489
+ ション)に変更します。テキスト/背景色・ハイパーリンク色は変更しません
490
+ 3. **既定書式の一時適用**: シェイプ(黒枠1pt・メイリオ・折り返しあり・
491
+ オートフィットなし)、矢印(黒・2pt)、テキストボックス(メイリオ
492
+ 12pt・黒・折り返しなし・「枠に合わせて図形のサイズを変更する」)の
493
+ サンプル図形を作成して書式を適用し、PowerPointの「既定の図形として
494
+ 設定」をCommandBars経由で試みます。**この既定値はファイルに保存
495
+ されず、PowerPointを再起動すると失われる一時的な状態です。**
496
+ 失敗しても致命的エラーにはせず、手動設定を促す警告を出して
497
+ 正常終了します
498
+
499
+ 引数はなく、選択状態に関わらずプレゼンテーション全体が対象です。
500
+ 独自色化・テーマカラー変更にはUndo境界を打つため、Ctrl+Zで戻せます
501
+ (既定書式の一時適用はファイルに保存されない状態のためUndo対象外です)
453
502
 
454
503
  各サブコマンドは `tools <name>` の他に、単体の実行ファイルとしても呼び出せます
455
504
  (`pip install -e .` でインストールされる `touka.exe` / `denoise.exe` / `kukiri.exe` / `cwc.exe` /
456
505
  `clipmd.exe` / `mdtsv.exe` / `clipview.exe` / `clipfmt.exe` / `vv.exe` /
457
506
  `profiler.exe` / `lsdir.exe` / `outline.exe` / `ikko.exe` / `mokuji.exe` /
458
- `tbl.exe` / `seiretsu.exe` / `nagasa.exe` / `umekomi.exe` / `shortcut.exe` など)。
507
+ `tbl.exe` / `seiretsu.exe` / `nagasa.exe` / `umekomi.exe` / `merioall.exe` /
508
+ `iro.exe` / `shortcut.exe` など)。
459
509
 
460
510
  ### 出力先のデフォルト(`-o`省略時)
461
511