Překlad řádků

Line feed neboli zalomení řádku je pokračování tisku textu od nového řádku, tedy od levého okraje k řádku níže, nebo již na další stránku. Na počítačích se to provádí klávesou Enter .

Oddělovač řádku , označující místo zalomení řádku, v textových datech je jeden nebo dvojice řídicích znaků a v označeném textu je to také určitá značka (v HTML -  značka  <br> , z angličtiny  break  - “ přestávka"). Oddělovač řádků se také nazývá pouze nový řádek, když je není potřeba rozlišovat.

Spolu s dalšími akcemi se před dalším odstavcem nebo stránkou provede také posun řádku.

Terminologie

Line feed se označuje zkratkou NEL (z anglického  next line  – „from the next line, go to the next line“ nebo newline  – „from a new line, go to a new line“).

Carriage return ( CR ) jeřídicí znak ASCII  ( 0x 0D , 13 10 , '\r'), který přesune kurzor k levému okraji pole. Tento řídicí znak se zadává klávesou Enter . Při zápisu do souboru se s ním zachází jako s novým řádkem pouze na systémech Macintosh .

Feed per line nebo Translation per line (z anglického  line feed , LF  - „feed [paper] per line“) je řídicí znak ASCII ( 0x0A , 10 v desítkové soustavě, '\n'), při zobrazení se kurzor pohybuje na další řádek. V případě tiskárny to znamená posunutí papíru nahoru, v případě displeje , posunutí  kurzoru dolů, pokud je ještě místo, a posunutí textu nahoru, pokud byl kurzor na spodním řádku. Zda to vrátí kurzor k levému okraji nebo ne, závisí na implementaci.

Výstup sekvence CR + LF v sémantice terminálu tedy zaručuje akci "vytvořit nový řádek".

Terminály (a jejich emulátory) mohou také provádět různé transformace znaků (např . LF → CR + LF , CR → CR + LF ) na vstupu a výstupu textu.

Tvrdý návrat , někdy hardwarový návrat  , je uživatelem dodaný oddělovač řádků. Ve strojové reprezentaci textu je tvrdý návrat explicitně vyjádřen, obvykle řídicími znaky nebo tagem .

Měkký návrat  je posun řádku provedený textovým procesorem v místě textu, které si zvolil. Měkký návrat odděluje řádky textu v jeho vizuální (uživateli viditelné) reprezentaci, ale nemusí být žádným způsobem vyjádřen ve strojové reprezentaci tohoto textu.

V ASCII

Systémy založené na ASCII nebo kompatibilní znakové sadě používají buď LF (line feed, 0x 0A ) nebo CR (carriage return, 0x0D ) samostatně, nebo sekvenci CR + LF ; historický důvod úmluvy ČR + LF viz níže . Tyto názvy jsou založeny na příkazech tiskárny: posun o řádek posune válec o jeden řádek a návrat vozíku znamená, že vozík tiskárny by se měl vrátit na začátek aktuálního řádku.

V Unicode

Standardně by každá aplikace kompatibilní s Unicode měla považovat každý z následujících znaků za nový řádek:

Se sekvencí CR + LF ( U+000D U+000A ) je třeba zacházet jako s jedním novým řádkem, nikoli dvěma [1] .

Obtíže

Neexistují žádné obecně přijímané zkratky pro ruské termíny. VK ( Zpět do kočáru ) se pravopisně shoduje se zkratkou z angličtiny.  BreaK (“přerušit [řádek]”, - stejné jako posun řádku) a PS nerozlišuje mezi Posuvem z řádku a Přenosem z řádku .

Rozdíl zobrazení

Neexistence jediné obecně přijímané reprezentace řádkování v různých operačních systémech komplikuje výměnu textových dat mezi nimi. Unicode se snaží tento rozdíl vyrovnat vyrovnáním CR , LF a CR + LF , ale při zpracování sekvence LF + CR , které nepředchází CR , je v konfliktu s zděděnou ASCII : podle ASCII je to jeden nový řádek a podle Unicode , dva.

Řádkování při zadávání z klávesnice je ve všech systémech zastoupeno jednotně - znakem CR a v systémech s jiným znázorněním řádkování je třeba textová data překódovat do požadovaného formátu.

Historie

Na úložných systémech s děrnými štítky se psal jeden řádek na jeden děrný štítek, takže řádek měl danou délku podle počtu sloupců (obvykle 80). Pomocí mezer bylo dosaženo kratších řádků a delší řádky byly oříznuty. Neexistoval žádný oddělovač řádků a každých 80 znaků se předpokládal implicitní nový řádek. Některé rané sálové operační systémy to přijaly pro ukládání textu v souborech, kde již neexistoval přirozený limit délky řádku.

CR + LF

Mechanické psací stroje měly páku, která vracela vozík k levému okraji stránky a otáčela hřídelí, čímž se papír posouval o řádek nahoru. Na dálnopisech a pozdějších alfanumerických tiskařských zařízeních (ATsPU) byla místo vozíku hlava, u laserových tiskáren přestala být materiálem, ale v termínu návrat vozíku se tomu všemu nadále říkalo vozík, aby se neměnil to. Na dálnopisech byly návrat vozíku a posun řádku odděleny, odkud tradice reprezentovat posun řádku jako CR + LF přešla do textových souborů.

Konec řádku

Dálnopisy byly nejprve vytištěny na nekonečný papír a zprávy začínaly a končily posunem řádku, takže každý začínal na novém řádku. Proto je zvykem zahrnout oddělovač zprávy do samotné zprávy.

Na počítačích se objevil interaktivní režim provozu, kdy byly střídavě vytištěny vstupní řídicí zprávy uživatele a zprávy programu odezvy. Uživatel po zprávě vždy přeložil řádek, protože to zároveň znamenalo provedení příkazu, ale programy někdy nepřeložily řádek za svou zprávou navzdory předpisu. Výstupní zařízení nebylo původně uzpůsobeno k tomu, aby terminál mohl monitorovat zalomení řádků, a bylo obtížné to implementovat, proto, aby vstup uživatele začal na novém řádku, terminál, který ovládá dialog, by také přeložil řádek za zprávou programu. Bylo také předepsáno umístit zalomení řádku na konec textového souboru.

Obava z oddělení zpráv padla na terminál a přestali na to myslet a posun řádku na konci textu byl přehodnocen jako konec posledního řádku, spolu s nímž se jako konce řádků zalomily všechny řádky. obecně byly přehodnoceny, což bylo usnadněno pohodlím práce s pravidelně dokončenými řádky z hlediska programování, podobně jako řetězce ukončené nulou . Takže zvyk zahrnout do zprávy oddělovač zprávy přešel do zvyku zahrnout oddělovač řádků do řetězce.

Řádek navíc na konci souboru obvykle není problém, takže posun řádku se stále nazývá konec řádku a oddělovač řádku je znak konce řádku (EOL, anglicky  end of line ).

Tok separátoru do návěsu a zpět není pouze linkový posuv. Například středník ukončuje příkazy v C , ale odděluje je v Pascalu . V písemném projevu je po několika větách téměř vždy uvedena tečka a po jedné větě častěji ne. Toto váhání je jasně patrné v seznamech , kde jednotlivé věty začínají někdy velkým písmenem a někdy malým písmenem.

Odstavec

Na dálnopisech a poté v prvních editorech nemělo dělení textu na odstavce své zvláštní znázornění, k tomu se používaly prázdné řádky nebo odsazení několika mezer a zalomení řádků v odstavci se vypisovalo ručně.

Později se v editorech objevilo automatické zalamování, které se provádí za chodu při vykreslování textu pokaždé znovu. Pro odlišení od ručního se tomu říkalo měkký návrat a ručnímu se říkalo tvrdé vrácení (převod se také nazýval jednoduše návrat, viz sekce Rozdíl v reprezentaci ). Zároveň se oddělovač řádků přenesl jako dříve, ale také získal význam oddělovače odstavců - pro ty řádky, ve kterých fungovalo automatické dělení slov a které se staly odstavci. Přepínač pro tento režim se nazývá zalamování slov .  Při automatickém dělení slov ručním dělením došlo k rozbití odstavce, meziodstavcové mezery byly provedeny jako dříve (nově - prokládáním s prázdným odstavcem), ale hlavní kvality odstavce - nezávislosti na zalamování - bylo dosaženo.

Režim automatického přenosu byl zapínán a vypínán ručně uživatelem, bylo obtížné to určit programově, to znamená, že když jsme se zbavili ručního přenosu, dostali jsme další ruční operaci. Ukázalo se, že více automatizované oddělování řádků a oddělovačů odstavců je nezbytné, to znamená, že potřebují dva různé znaky.

Aby se nestarali o kompatibilitu s již existujícím oddělovačem řádků/odstavců v ASCII , nepoužili vývojáři pro oddělovač řádků a odstavců znaky ASCII. V HTML byly použity značky <br /> a <p> , v Unicode znaky  U +2028 a U+2029 . Ve Wikipedii mohou být odstavce odděleny prázdnými řádky, které jsou zobrazeny s plnými mezerami.

Viz také

Poznámky

  1. Standardní příloha Unicode #14: Unicode Line Breaking Algorithm Archived 17. února 2009 na Wayback Machine 

Odkazy