從unicode命名的圖片目錄裡複製出指定的檔案

這段程式碼是一個用來篩選字型圖片的小工具。

有時候我們會下載一大堆以 Unicode 編碼命名的圖片檔案,但實際上只需要其中一部分。這個腳本可以幫你比對需要的文字,並從成千上萬的檔案中把目標圖片抓出來。

Max腳本檔案下載:
https://github.com/max32002/MaxFontScripts/blob/master/copy_selected_image.py

基本原理

這個腳本主要使用 Python 內建的函式庫。它會掃描你指定的資料夾,尋找檔名為數字的圖片檔。這些數字會被當作 Unicode 編碼。腳本會根據你提供的文字或範圍,計算出對應的編碼集合。最後它會把匹配成功的檔案複製到新的資料夾。

使用方法與參數

你需要先安裝 Python 環境。確保腳本存成 copy_selected_image.py 檔案。在終端機輸入指令就能執行。基本的語法結構很簡單。

python copy_selected_image.py [輸入目錄] [參數]

[輸入目錄] 是必填的輸入目錄路徑。

[參數] 說明如下。

  • –string, 或 -s, 指定想要的文字。
  • –file, 或 -f, 讀取文字檔內容。
  • 如果你知道編碼範圍,可以使用 –range 輸入 16 進位數值。
  • 程式預設會把結果存到名為 output 的資料夾, 可以用 –output, 或 -o 指定輸出目錄。

操作範例

假設你的圖片都在 images 資料夾。如果你想挑出「你好」這兩個字的圖片,指令如下:

python copy_selected_image.py images --string 你好 --output result

如果你需要挑選一段連續的 Unicode 範圍,例如 4E00 到 4E10,可以這樣寫:

python copy_font.py images --range 4E00-4E10

執行後程式會顯示匹配到的總數,並自動建立目標資料夾存放檔案。

注意事項

檔案名稱必須是純數字。副檔名必須是常見的圖片格式。程式在複製時會檢查目標路徑。如果發生檔名衝突,它會印出警告訊息。這對於處理大量字圖資料非常方便。


進階參數說明

  • --file 目的字串的文字檔。
  • --range 目的字元的範圍, 使用16進制, 例如: –range AC00,D7AF
  • --range_int 目的字元的範圍, 使用10進制.

常見的 range

  • 2E80 – 2EFF: CJK Radicals Supplement
  • 3400 – 4DBF: 中日韓統一表意文字擴充區A,
  • 4E00 – 9FFF: CJK Unified Ideographs,
  • AC00 — D7AF: 諺文音節 (Hangul Syllables), Hangul音節是一個Unicode塊,其中包含用於現代韓語的預先編寫的Hangul音節塊。音節可以通過算法直接映射到韓文字母Unicode塊中的兩個或三個字符的序列: U + 1100–U + 1112之一:19個現代韓文字母領先的輔音字母; U + 1161–U + 1175之一:21種現代韓文元音字母;
  • F900 – FAFF: CJK Compatibility Ideographs
  • 20000 – 2A6DF: 中日韓統一表意文字擴充區B
  • 30000 – 3134F: 中日韓統一表意文字擴展區G

相關文章: