줄 바꿈 없는 공백
1. 개요
줄 바꿈 없는 공백(NBSP)은 텍스트 내에서 줄 바꿈을 방지하는 데 사용되는 공백 문자이다. 일반적인 공백과 달리, NBSP는 텍스트 처리 소프트웨어에서 단어 사이의 줄 바꿈을 허용하지 않도록 하여, 특정 단어 또는 구문이 항상 같은 줄에 표시되도록 한다. HTML 등에서 ` `로 표현되며, 좁은 줄 바꿈 없는 공백, 도형 간격, 단어 결합자와 같은 변형이 존재한다. 다양한 운영체제 및 응용 프로그램에서 고유한 입력 방법을 통해 사용할 수 있다.
| 이름 | 줄 바꿈 없는 공백 |
|---|---|
| 다른 이름 | non-breaking space 하드 스페이스 (hard space) 고정 스페이스 (fixed space) |
| 유니코드 | U+00A0 |
| HTML 엔티티 | |
| 관련 문자 | 공백 좁은 줄 바꿈 없는 공백 |
| 기능 | 줄 바꿈 방지 |
|---|---|
| 사용 예시 | "100 km" (숫자와 단위 사이) "Mr. Smith" (약어와 이름 사이) 날짜 (예: 1999년 12월) |
| 설명 | 텍스트 편집 및 워드 프로세싱에서 줄 바꿈이 발생하는 것을 방지하는 공백 문자 |
| 인코딩 | 다양한 문자 인코딩 방식에서 지원 |
|---|---|
| 입력 방법 | 운영체제 및 소프트웨어에 따라 다름 |
2. 설명
NBSP를 포함하는 문자열이 줄의 맨 끝에 오면서도 길이가 너무 길어서 줄을 맞출 수 없을 때, NBSP가 연결하는 문자열을 포함하여 모든 문자열을 다음 줄로 옮긴다. 이는 단순히 공백을 추가하는 것과는 대조되며, 문서 작성기에서 기본으로 제공하는 일반적인 문자열 자동 줄 바꿈 기능도 이에 해당한다고 할 수 있다.
3.1. 줄 바꿈 방지
영어 등 띄어쓰기를 하는 언어에서 문장 중간에 줄 바꿈(행 바꿈)을 할 때는 단어와 단어 사이(공백)에서 한다. 텍스트 처리 소프트웨어는 공백이 있는 곳은 어디든 자동적으로 줄 바꿈을 해도 좋다고 간주하지만, 줄 바꿈 방지 공백(no-break space)은 이를 막는다. 예를 들어, "100 km"라는 문구가 행의 끝에 와서 너무 길어 행에 들어가지 않을 경우, 소프트웨어는 "100"과 "km" 사이에 줄 바꿈을 할 수 있다. 이러한 바람직하지 않은 동작을 피하기 위해 "100"과 "km" 사이에 줄 바꿈 방지 공백을 넣는다. 줄 바꿈 방지 공백을 사용한 "100 km"는 하나의 단어처럼 취급되어, 사이에 줄 바꿈이 들어가지 않도록 보장되며, 행의 끝에 걸릴 경우에는 그 앞에서 줄 바꿈되어 다음 행에 표시된다.
HTML 등에서 일반 공백으로는 일본어 문자 사이가 벌어지지 않는 경우가 있어 줄 바꿈 방지 공백을 사용하기도 하지만, 일본어 문자 사이의 공백은 공백 지점에서 줄 바꿈이 되어도 문제없는 공백이므로 사용해서는 안 된다. 일반적으로 일본어 간격에는 와지 간격(전각 공백)을 사용해야 한다.
3.2. 여러 개의 연속된 공백
SGML・HTML・TeX・LaTeX 등의 일반 텍스트 파일 형식에서는 렌더링 엔진이 연속된 공백 문자(스페이스, 줄 바꿈, 탭, 페이지 나누기 등)의 나열을 하나의 스페이스로 표시한다. 이는 최종적인 표시 결과와 관계없이 소스 텍스트를 보기 쉽게 들여쓰기나 줄 바꿈을 넣을 수 있도록 하기 위함이다.
이에 반해, 줄 바꿈 없는 공백은 표시 시 주변의 공백 문자와 통합되지 않는다. 따라서, 연속된 여러 개의 스페이스를 출력하고 싶을 때 줄 바꿈 없는 공백을 사용한다.
3.3. 사용 예시
브라우저에서 창 크기를 조절하면 아래 텍스트에서 줄 바꿈 없는 공백의 효과를 확인할 수 있다.
줄 바꿈 없는 공백의 효과를 보여주기 위해, 다음 단어들은 줄 바꿈 없는 공백으로 구분되어 있다.
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim Veniam Quis Nostrud Exercitation Ullamco Laboris Nisi Ut Aliquip Ex Ea Commodo Consequat Duis Aute
줄 바꿈 없는 공백의 비-병합 동작을 보여주기 위해, 다음 단어들은 증가하는 수의 줄 바꿈 없는 공백으로 구분되어 있다.
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim Veniam Quis Nostrud Exercitation Ullamco Laboris Nisi Ut Aliquip Ex Ea Commodo Consequat Duis Aute
반면에, 다음 단어들은 일반적인 공백으로 구분되어 있다.
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim Veniam Quis Nostrud Exercitation Ullamco Laboris Nisi Ut Aliquip Ex Ea Commodo Consequat Duis Aute
여기서는 좁은 줄 바꿈 없는 공백으로 구분되어, 그 너비를 보여준다.
Lorem Ipsum Dolor Sit Amet Consectetur Adipiscing Elit Sed Do Eiusmod Tempor Incididunt Ut Labore Et Dolore Magna Aliqua Ut Enim Ad Minim Veniam Quis Nostrud Exercitation Ullamco Laboris Nisi Ut Aliquip Ex Ea Commodo Consequat Duis Aute
4. 변형
유니코드에는 여러 종류의 줄 바꿈 없는 공백(NBSP)이 정의되어 있다.
4.1. 좁은 줄 바꿈 없는 공백 (NNBSP)
좁은 줄 바꿈 없는 공백(Narrow No-Break Space영어, NNBSP, U+202F)은 연속적인 시각적 요소로서 값과 단위의 더 긴 결합으로 인해 SI 표준 사용을 권장한다. 이는 단어 경계를 표시하지 않고 접미사를 어간에서 분리하기 위해 몽골어를 위해 유니코드 3.0에 도입되었다. 또한 큰 구두점(때로는 부정확하게 "이중 구두점"이라고 함) 프랑스어에서 필요하며, espace fine insécable프랑스어라고 불린다(;, ?, !, », › 앞과 «, ‹ 뒤; 오늘날 종종 프랑스어 DTP에서 : 앞에도 사용). 독일어에서는 다중 부분 약어 사이에서 사용된다 (예: "z.B.", "d.h.", "v.l.n.r."). 몽골어와 함께 사용될 때 너비는 일반적으로 일반 공간의 3분의 1이다. 다른 상황에서는 너비가 일반 공간의 약 70%이지만, 적어도 일부 글꼴에서는 얇은 공간(U+2009)과 유사할 수 있다. 유니코드 공통 로케일 데이터 저장소(CLDR)의 릴리스 34부터 NNBSP는 프랑스어에서 숫자 그룹 구분 기호로 사용되며, 릴리스 44부터는 베네치아어에서도 사용된다. 스페인어도 같은 경향이 있다.
4.3. 단어 결합자 (Word Joiner)
유니코드 3.2 버전부터 도입된 단어 결합자(Word Joiner영어, WJ, U+2060)는 공백을 표시하지 않으면서 해당 위치에서 줄 바꿈을 금지한다.
5. 인코딩
다양한 문자 인코딩 시스템에서 줄 바꿈 없는 공백(NBSP)는 다음과 같이 표현된다.
| 규격 | 줄 바꿈 없는 공백의 표현 |
|---|---|
| 유니코드・ISO/IEC 10646 | U+00A0 |
| UTF-8 | C2 A0 |
| ISO/IEC 8859 | 0xA0 |
| JIS X 0213 | 1면 9구 2점(라틴 1 호환) |
| CP1252 (대부분의 게르만어파와 로망스어군에서의 Windows 기본값) | 0xA0 |
| KOI8-R | 0x9A |
| EBCDIC | 0x41 |
| CP437, CP850, CP866 | 0xFF |
| HTML (위키 텍스트) | (문자 참조#문자 실체 참조 (실체 참조))   또는   (문자 참조#수치 문자 참조) |
| TeX | ~ (물결표) |
| ASCII | (사용 불가. 단, 확장 ASCII의 버전 중에는 문자 255 (0xFF)를 줄 바꿈 없는 공백으로 제공하는 것이 있다.) |
6. 입력 방법
키보드 배열에 대한 국가 또는 국제 표준에서 줄 바꿈 없는 공백의 입력 방식을 정의하는 경우는 드물다. 예외적으로 2008년 국가 표준 SFS 5966으로 채택된 핀란드 다국어 키보드가 있는데, SFS 5966에 따르면 줄 바꿈 없는 공백은 AltGr + 스페이스 키 조합으로 입력할 수 있다.
일반적으로 키보드 드라이버 및 워드 프로세서 등 응용 프로그램 제작자는 줄 바꿈 없는 공백을 위한 자체 키보드 단축키를 고안했다.
6.1. 시스템 및 애플리케이션별 입력 방법
키보드 배열에 대한 국가 또는 국제 표준에서 줄 바꿈 없는 공백의 입력 방식을 정의하는 경우는 드물다. 예외적으로 2008년 국가 표준 SFS 5966으로 채택된 핀란드 다국어 키보드가 있는데, SFS 5966에 따르면 줄 바꿈 없는 공백은 AltGr + 스페이스 키 조합으로 입력할 수 있다.
일반적으로 키보드 드라이버 및 응용 프로그램(예: 워드 프로세서) 제작자는 줄 바꿈 없는 공백을 위한 자체 키보드 단축키를 고안했다.
많은 일본어 환경에서는 키보드에서 직접 입력할 수 없으므로 문자 코드표 등을 사용하여 목록에서 입력해야 한다.