자동 줄 바꿈

자동 줄 바꿈은 대부분의 문서 편집기, 워드 프로세서, 웹 브라우저에서 지원하는 기능으로, 문자열의 행을 자동으로 다음 줄에 보이게 하여, 보이는 화면보다 긴 문장이 잘리지 않고 모든 내용을 볼 수 있게 하는 것을 말한다. 워드랩(word wrap), 라인랩(line wrap)이라고도 부른다.

워드 프로세서에서는 문단을 나눈다는 개념에서 이러한 방식을 하드 리턴(hard return)으로, 줄을 나눈다는 개념에서 소프트 리턴(soft return)으로 부른다.

알고리즘

최소 길이 알고리즘 
다음은 가장 간단한 구현 방법인 최소 길이(Minimum length) 알고리즘의 의사 코드(pseudo code)이다.
SpaceLeft := LineWidth
for each Word in Text
    if Width(Word) > SpaceLeft
        insert line break before Word in Text
        SpaceLeft := LineWidth - Width(Word)
    else
        SpaceLeft := SpaceLeft - (Width(Word) + SpaceWidth)
구현이 간단하고 속도가 빨라서, 마이크로소프트 워드나 오픈 오피스 등의 위지윅 워드프로세서에서 많이 사용한다.

랙 최소화 알고리즘 
랙 최소화(Minimum raggedness) 알고리즘은 에서 사용하는 것으로, 랙(rag)을 최소화시키므로 최소 길이 알고리즘의 결과보다 미려한 조판 결과를 볼 수 있으나, 속도는 보다 느리다.

각주

같이 보기 
 줄 바꿈 규칙
 줄 바꿈 방지 공백(Non-breaking space)
 위키백과(미디어위키)에서의 줄 바꿈 처리 방법(Line break handling)

타이포그래피
동적 계획법
유니코드 알고리즘
문서 편집기 기능