Skip to content

CJK 서식 가이드

VMark에는 중국어, 일본어, 한국어 텍스트를 위한 포괄적인 서식 규칙이 포함되어 있습니다. 이 도구들은 CJK와 라틴 문자를 혼용할 때 일관된 타이포그래피를 유지하는 데 도움이 됩니다.

빠른 시작

서식 → CJK 문서 서식 을 사용하거나 Alt + Mod + Shift + F를 눌러 전체 문서를 서식화합니다.

선택 영역만 서식화하려면 Mod + Shift + F를 사용합니다.


서식 규칙

1. CJK-라틴 간격

CJK와 라틴 문자/숫자 사이에 자동으로 공백을 추가합니다.

이전이후
学习Python编程学习 Python 编程
共100个共 100 个
使用macOS系统使用 macOS 系统

2. 전각 구두점

CJK 맥락에서 반각 구두점을 전각으로 변환합니다.

이전이후
你好,世界你好,世界
什么?什么?
注意:重要注意:重要

3. 전각 문자 변환

전각 문자와 숫자를 반각으로 변환합니다.

이전이후
12341234
ABCABC

4. 괄호 변환

CJK 내용을 감싸는 반각 괄호를 전각으로 변환합니다.

이전이후
(注意)(注意)
[重点]【重点】
(English)(English)

5. 대시 변환

이중 하이픈을 올바른 CJK 대시로 변환합니다.

이전이후
原因--结果原因 —— 结果
说明--这是说明 —— 这是

6. 스마트 따옴표 변환

VMark는 다음을 올바르게 처리하는 스택 기반 따옴표 쌍 알고리즘 을 사용합니다:

  • 어포스트로피: don't, it's, l'amour와 같은 축약형은 보존됩니다
  • 소유격: Xiaolai's는 그대로 유지됩니다
  • 프라임: 5'10" (피트/인치)와 같은 측정값은 보존됩니다
  • 연대: '90s와 같은 약어는 인식됩니다
  • CJK 맥락 감지: CJK 내용을 둘러싼 따옴표는 곡선/코너 따옴표로 변환됩니다
이전이후
他说"hello"他说 "hello"
"don't worry""don't worry"
5'10" tall5'10" tall

코너 괄호 옵션이 활성화된 경우:

이전이후
"中文内容"「中文内容」
「包含'嵌套'」「包含『嵌套』」

7. 줄임표 표준화

줄임표 서식을 표준화합니다.

이전이후
等等. . .等等...
然后. . .继续然后... 继续

8. 반복 구두점

연속된 구두점을 제한합니다 (설정 가능한 한도).

이전이후 (한도=1)
太棒了!!!太棒了!
真的吗???真的吗?

9. 기타 정리

  • 여러 공백 압축: 多个 空格多个 空格
  • 후행 공백 제거
  • 슬래시 간격: A / BA/B
  • 통화 간격: $ 100$100

보호되는 내용

다음 내용은 서식화의 영향을 받지 않습니다:

  • 코드 블록 (```)
  • 인라인 코드 (`)
  • 링크 URL
  • 이미지 경로
  • HTML 태그
  • YAML 프론트매터
  • 백슬래시로 이스케이프된 구두점 (예: \,,로 유지됨)

기술 구문

VMark의 라틴 스팬 스캐너 는 자동으로 기술 구문을 감지하고 구두점 변환으로부터 보호합니다:

타입예시보호
URLhttps://example.com모든 구두점 보존
이메일user@example.com@ 및 . 보존
버전v1.2.3, 1.2.3.4마침표 보존
소수3.14, 0.5마침표 보존
시간12:30, 1:30:00콜론 보존
천 단위1,000, 1,000,000쉼표 보존
도메인example.com마침표 보존

예시:

이전이후
版本v1.2.3发布版本 v1.2.3 发布
访问https://example.com获取访问 https://example.com 获取
温度是3.14度温度是 3.14 度

백슬래시 이스케이프

변환을 방지하려면 구두점 앞에 \를 붙입니다:

입력출력
价格\,很贵价格,很贵 (쉼표가 반각으로 유지됨)
测试\.内容测试.内容 (마침표가 반각으로 유지됨)

설정

CJK 서식 옵션은 설정 → 언어에서 구성할 수 있습니다:

  • 특정 규칙 활성화/비활성화
  • 구두점 반복 한도 설정
  • 따옴표 스타일 선택 (표준 또는 코너 괄호)

컨텍스트 따옴표

컨텍스트 따옴표 가 활성화된 경우 (기본값):

  • CJK 내용을 둘러싼 따옴표 → 곡선 따옴표 ""
  • 순수 라틴 내용을 둘러싼 따옴표 → 직선 따옴표 ""

이는 CJK 내용을 올바르게 서식화하면서 영어 텍스트의 자연스러운 모양을 보존합니다.


CJK 자간

VMark에는 CJK 텍스트 전용 자간 기능이 포함되어 있어 문자 사이에 미묘한 간격을 추가하여 가독성을 향상시킵니다.

설정

설정 → 에디터 → 타이포그래피 → CJK 자간 에서 구성합니다:

옵션설명
없음0자간 없음 (기본값)
미묘0.02em거의 눈에 띄지 않는 간격
가벼운0.03em가벼운 간격
보통0.05em대부분의 사용 사례에 권장
넓은0.08em더 뚜렷한 간격

작동 방식

  • CJK 문자 구간에 letter-spacing CSS 적용
  • 코드 블록 및 인라인 코드 제외
  • WYSIWYG와 내보낸 HTML 모두에서 작동
  • 라틴 텍스트나 숫자에는 영향 없음

예시

자간 없음:

这是一段中文文字,没有任何字间距。

0.05em 자간 있음:

这 是 一 段 中 文 文 字 , 有 轻 微 的 字 间 距 。

차이는 미묘하지만 특히 긴 단락에서 가독성을 향상시킵니다.


스마트 따옴표 스타일

VMark는 직선 따옴표를 타이포그래피적으로 올바른 스마트 따옴표로 자동 변환할 수 있습니다. 이 기능은 CJK 서식화 중에 작동하며 여러 따옴표 스타일을 지원합니다.

따옴표 스타일

스타일큰따옴표작은따옴표
곡선"text"'text'
코너 괄호「text」『text』
기요메«text»‹text›

스택 기반 쌍 알고리즘

VMark는 따옴표 쌍을 위해 정교한 스택 기반 알고리즘을 사용합니다:

  1. 토큰화: 텍스트의 모든 따옴표 문자를 식별
  2. 분류: 컨텍스트를 기반으로 각 따옴표가 열기인지 닫기인지 결정
  3. 어포스트로피 감지: 축약형 (don't, it's)을 인식하고 보존
  4. 프라임 감지: 측정값 (5'10")을 인식하고 보존
  5. CJK 컨텍스트 감지: 인용된 내용이 CJK 문자를 포함하는지 확인
  6. 고아 정리: 일치하지 않는 따옴표를 적절히 처리

예시

이전이후 (곡선)
"hello""hello"
'world''world'
it'sit's
don'tdon't
5'10"5'10"
'90s'90s

축약형 (예: "it's" 또는 "don't")의 어포스트로피는 올바르게 보존됩니다.

커서에서 따옴표 스타일 토글

전체 문서를 다시 서식화하지 않고 기존 따옴표의 스타일을 빠르게 토글할 수 있습니다. 커서를 따옴표 쌍 안에 놓고 Shift + Mod + '를 눌러 토글합니다.

단순 모드 (기본값): 직선 따옴표와 선호 스타일 사이를 토글합니다.

이전이후다시 이후
"hello""hello""hello"
'world''world''world'

전체 순환 모드: 네 가지 스타일을 순환합니다.

단계큰따옴표작은따옴표
1"text"'text'
2"text"'text'
3「text」『text』
4«text»‹text›
5"text" (시작으로 돌아감)'text'

중첩된 따옴표: 따옴표가 중첩되어 있을 때 명령은 커서를 포함하는 가장 안쪽 쌍을 토글합니다.

스마트 감지: 어포스트로피 (don't), 프라임 (5'10"), 연대 약어 ('90s)는 따옴표 쌍으로 처리되지 않습니다.

TIP

설정 → 언어 → CJK 서식 → 따옴표 토글 모드에서 단순 모드와 전체 순환 모드를 전환합니다.

설정

설정 → 언어 → CJK 서식에서 스마트 따옴표 변환을 활성화합니다. 드롭다운 메뉴에서 선호하는 따옴표 스타일을 선택할 수도 있습니다.


CJK 코너 괄호 변환

CJK 코너 따옴표 가 활성화되면 CJK 내용을 둘러싼 곡선 따옴표가 자동으로 코너 괄호로 변환됩니다.

지원되는 문자

코너 괄호 변환은 인용된 내용에 중국 문자 (CJK 통합 한자 U+4E00–U+9FFF)가 포함될 때 트리거됩니다:

내용 타입예시변환?
중국어"中文"「中文」
한자가 포함된 일본어"日本語"「日本語」
히라가나만"ひらがな""ひらがな"로 유지
가타카나만"カタカナ""カタカナ"로 유지
한국어"한글""한글"로 유지
영어"hello""hello"로 유지

팁: 히라가나만 있는 일본어 텍스트의 경우 코너 괄호 「」를 수동으로 사용하거나 최소 하나의 한자를 포함하세요.


테스트 단락

이 서식화되지 않은 텍스트를 VMark에 복사하고 Alt + Mod + Shift + F를 눌러 서식화합니다:

text
最近我在学习TypeScript和React,感觉收获很大.作为一个developer,掌握这些modern前端技术是必须的.

目前已经完成了3个projects,代码量超过1000行.其中最复杂的是一个dashboard应用,包含了数据可视化,用户认证,还有API集成等功能.

学习过程中遇到的最大挑战是--状态管理.Redux的概念. . .说实话有点难理解.后来换成了Zustand,简单多了!

老师说"don't give up"然后继续讲"写代码要注重可读性",我觉得很有道理.

访问https://example.com/docs获取v2.0.0版本文档,价格$99.99,时间12:30开始.

项目使用的技术栈如下:

- **Frontend**--React + TypeScript
- **Backend**--Node.js + Express
- **Database**--PostgreSQL

总共花费大约$200美元购买了学习资源,包括书籍和online courses.虽然价格不便宜,但非常值得.

예상 결과

서식화 후 텍스트는 다음과 같이 표시됩니다:


最近我在学习 TypeScript 和 React,感觉收获很大。作为一个 developer,掌握这些 modern 前端技术是必须的。

目前已经完成了 3 个 projects,代码量超过 1000 行。其中最复杂的是一个 dashboard 应用,包含了数据可视化,用户认证,还有 API 集成等功能。

学习过程中遇到的最大挑战是 —— 状态管理。Redux 的概念... 说实话有点难理解。后来换成了 Zustand,简单多了!

老师说 "don't give up" 然后继续讲 "写代码要注重可读性",我觉得很有道理。

访问 https://example.com/docs 获取 v2.0.0 版本文档,价格 $99.99,时间 12:30 开始。

项目使用的技术栈如下:

  • Frontend —— React + TypeScript
  • Backend —— Node.js + Express
  • Database —— PostgreSQL

总共花费大约 $200 美元购买了学习资源,包括书籍和 online courses。虽然价格不便宜,但非常值得。


적용된 변경 사항:

  • CJK-라틴 간격 추가 (学习 TypeScript)
  • 전각 구두점 변환 (,。!)
  • 전각 숫자 정규화 (3→3, 1000→1000, 200→200)
  • 이중 하이픈을 em 대시로 변환 (-- → ——)
  • 줄임표 정규화 (. . . → ...)
  • 스마트 따옴표 적용, 어포스트로피 보존 (don't)
  • 기술 구문 보호 (https://example.com/docs, v2.0.0, $99.99, 12:30)