在 Adobe Illustrator 中,「線端端點」是 Stroke 面板中的一個設定,用來控制開放路径如何終止,共有三個說明文件中記載的選項:Butt Cap、Round Cap 和 Projecting Cap。該設定純粹是視覺上的,只會套用到你使用鋼筆、鉛筆或線段工具繪製的向量筆畫。但放進 Illustrator 作品的文字內容本身帶有隱形的行尾:實際的換行字元、Windows 的 CRLF 配對、單獨的 LF 字元,或是從 JSON、記錄檔或程式碼匯出文字時一併帶過來的可見反斜線加 n 序列。當這些換行字元與 Illustrator 預期的格式不一致時,匯入的文字會意外地重新排列,點文字會跳到新位置,或逸出序列會以字面字元的形式顯示在作品中。瀏覽器版的Line Break Converter負責處理這個問題的文字內容面,能將真實換行轉成可見的逸出字元、把可見的逸出序列解碼回真實換行,或將每個行界線替換成一個空白字元。一切都在瀏覽器中本地端執行,輸入上限為一百萬個字元,結果會下載為無位元組順序標記的純 UTF-8 文字。

how to change line end cap illustrator
How to Change Line End Cap in Illustrator

Illustrator 中的線端端點:筆畫設定與文字行尾

Adobe Illustrator 在 Stroke 面板中提供視覺上的線端端點設定。Illustrator 說明文件將端點描述為「開放線條的末端」,並列出三種端點樣式 — Butt Cap、Round Cap 和 Projecting Cap — 用來改變開放路径在描邊時兩端端點的終止方式。Butt Cap 為預設值,會以平齊邊緣在路径端點處結束筆畫。Round Cap 會在端點之外延伸一個半圓。Projecting Cap 會在端點之外延伸一個等於筆畫寬度一半的平齊邊緣,使端點明顯向外突出。每個選項只需在 Stroke 面板上點擊一次,就會套用至目前選取的路径。

以上就是 Illustrator 對視覺問題的解答。文字方面的解答則不同。當文字進入 Illustrator — 不論是點文字、區域文字、路径文字,或是透過 Variable Importer 匯入的文字 — 每個換行字元都會與可見字母一起被帶進來。如果來源文字包含 Windows 的 CRLF 配對,而目的地文字框預期的是 LF 行符號,字體排列就會顯得奇怪。如果來源文字包含字面的反斜線加 n 序列(因為文字是從 JSON 字串或記錄檔匯出匯出的),這兩個字元會以可見文字的形式出現在作品中,而不是作為新的一行開頭。Line Break Converter 就是為了解決這第二個問題而存在,而且它完全不會動到筆畫設定。

換行轉換的三種模式

這個轉換工具圍繞三種明確的模式建構。每種模式都是單向轉換,而且這個工具有意不會根據你貼上的輸入去推斷你需要的模式。

模式 辨識 將每個界線替換為
實際轉逸出 CRLF 配對、單獨 CR、單獨 LF 兩個可見字元:反斜線與 n
逸出轉實際 字面的 \r\n、\n 與 \r 一個 LF 換行
實際轉空白 CRLF 配對、單獨 CR、單獨 LF 一個普通空白字元

兩條界線規則決定了輸出結果。在實際轉逸出模式中,一組 CRLF 配對算是一個界線而非兩個,因此 Windows 檔案結尾不會變成雙重逸出字元。在逸出轉實際模式中,字面序列 \r\n 會比 \n 或 \r 這類較短序列優先比對,這代表 Windows 拼法永遠會解碼為單一 LF,而不是兩個。這些規則符合 JSON 類資料與記錄檔輸出中字串字面值的常見寫法,詳見 MDN 的逸出序列參考資料

一個實際的細節:這個工具並非完整的程式語言字串解析器。它只辨識三種說明文件記載的字面序列。多個前置反斜線、Unicode 樣式的逸出,以及引號字串上下文都不會被解讀。如果你的來源包含另一種語言的逸出深度規則,請在用於程式碼前先驗證輸出,因為這個轉換工具不會遵守外層的引號規則。

在瀏覽器中為 Illustrator 準備文字

這個轉換工具是單頁工具,全部都在瀏覽器中執行。不上傳任何檔案、不需要帳號,也不會有任何資料離開分頁。以下是準備貼入 Illustrator 的文字的工作流程。

  1. 在瀏覽器中開啟 Line Break Converter,找到輸入文字區。將文字原樣貼上,無論它包含來自文字檔的真實換行、來自 Windows 來源的 CRLF 配對,或是來自 JSON 類匯出的可見反斜線加 n 序列。
  2. 挑選符合你目標的模式。如果 Illustrator 需要單一可見行文字,而你希望換行以 \n 形式呈現以利記錄,請選擇實際轉逸出。如果你複製的文字顯示為反斜線加 n,而你希望每個實例都變成 Illustrator 文字框內的真實換行,請選擇逸出轉實際。如果你希望所有行尾合併成普通空白、且完全沒有視覺上的換行,請選擇實際轉空白。
  3. 點擊轉換動作。預覽區會以保留的空白格式顯示精確結果:真實換行會出現在新的一行,而逸出值則會以反斜線加 n 字元的形式可見地呈現。預覽區中長行的視覺換行並不會在輸出中插入換行位元組。
  4. 依據你的目標檢查預覽結果。如果你選的是逸出轉實際,卻看到一個非預期的雙重換行,你的輸入很可能含有兩個連續的界線序列,因為這個工具會優先比對 \r\n,每組 CRLF 配對只會產生一個 LF。如果你選的是實際轉逸出,卻看到一個多餘的可見反斜線,表示原始文字本身已包含反斜線字元,而轉換工具按設計並不會更動它。
  5. 複製預覽結果,或使用下載按鈕將結果另存為無位元組順序標記的 UTF-8 純文字檔。下載的位元組與預覽完全一致,這在你之後將檔案貼入 Illustrator 的 Variable Importer 或從其他文字編輯器開啟時相當重要。

有兩項限制請記得。輸入上限為一百萬個字元,這是回應式瀏覽器處理的上限;更長的輸入需要先用 Text File Splitter 之類的工具切割。空白的輸入會顯示明顯的錯誤,而不是產生空白結果,這能防止你不小心下載到空白檔案。編輯輸入或模式會清除先前的結果並撤銷其物件 URL,因此舊的下載結果不會與目前的設定搞混。

將文字複製到 Illustrator 時的常見情境

不同的內容來源帶著不同的換行預期進入 Illustrator。下表將每個常見情境與符合目標的模式配對起來。

文字來源 換行的樣貌 建議模式
Windows 上 Notepad 的純文字檔 CRLF 配對 用於記錄的實際轉逸出,或合併為單行的實際轉空白
Mac 編輯器的純文字檔 單獨 LF 行符號 每個界線產生單一反斜線加 n 的實際轉逸出,或實際轉空白
JSON 類匯出或記錄檔傾印 可見的 \n 或 \r\n 序列 逸出轉實際
已在 Illustrator 中斷成不必要多行的文字 要變成空格的真實換行 實際轉空白
想合併為單一 Illustrator 文字框的多行文字 想保留為逸出文字形式顯示的真實換行 實際轉逸出

請注意,在實際轉空白模式中,轉換工具並不會合併連續的界線。兩個空行會變成兩個空白,而不是一個。這個工具刻意為每個界線保留一次替換,以維持計數上的可逆性。如果之後想要壓縮空白,請另外用 Whitespace Remover 處理結果。同樣地,轉換工具不會正規化 Tab、不會依寬度換行、不會在輸出中保留原本混用的行尾樣式,也不會加入 HTML 換行標籤。這些各自都是屬於同一系列中不同工具的獨立作業。

與 Line Break Converter 相鄰的工具

有幾個相鄰的文字工具能處理這個轉換工具不負責的問題。當你在為 Illustrator 匯入準備文字時,了解哪個工具解決哪個問題能讓工作流程保持乾淨。

  • 如果想刪除每一個換行而不是改寫它們,請使用 Line Break Remover,它能在不修剪其餘文字的情況下替換、移除或段落正規化標準化的換行。
  • 若需要更廣泛的空白清理,包括 Tab、連續空白與空行,請使用 Whitespace Remover,它提供明確的模式來壓縮水平空白、移除空行,或移除所有空白字元。
  • 若要在轉換後為行加上編號,請使用 Add Line Numbers to Text 工具,並選擇起始值與是否補零。
  • 若要為每個保留的行加上字面前綴或後綴,請使用 Add Prefix and Suffix to Lines 工具,它在你指定時會保留空行不動。

這些工具之間的區隔反映了轉換工具本身的界線規則。每個工具只對空白的某一個特定面向進行轉換,其餘文字保持不變,這讓你在為 Illustrator 匯入組裝多個步驟時,管線變得可預期。這也代表反轉一個步驟很簡單:原本的文字區永遠不會被結果覆寫,因此你可以隨時再次編輯輸入並重新執行不同的模式,而不會失去原始文字。

想深入了解,請參閱 How to Remove Line Breaks in Google Docs

想深入了解,請參閱 Counting Lines in Poetry: Forms, Rules, and a Quick Tool