Uzanto:Gamliel Fishkin/Novlinio

El Vikipedio, la libera enciklopedio

Novlinio, aŭ liniŝanĝo, aŭ linirompo estas daŭrigo de eligo de teksto ekde nova linio. Linirompo estas ankaŭ farata antaŭ sekva alineo aŭ paĝo. En komputiloj liniŝanĝo estas realigata per premo al la enigklavo (Enter).

Kiel linidividilo en plata teksto servas unu aŭ du stirsignoj (\n en Unikso kaj uniksosimilaj operaciumoj, \r en macOS, \r\n en Vindozo), kaj en dismarkita teksto certa markilo (angle tag; ekzemple, en HTML por tio estas uzata la markilo <br>).

Terminaro[redakti | redakti fonton]

Novlinio estas indikata kiel NEL (laŭ la anglaj vortoj new line — nova linio aŭ next line — sekva linio).

Ĉaretrevenigo (angle carriage return, CR) estas stirsigno de Askio (0x0D, \r), ĉe kies eligo la kursoro translokiĝas al la maldesktra rando. Tiu stirsigno estas enigata per la klavo Enter. Estante skribita en dosiero, tiu stirsigno estas per si mem konsiderata kiel linirompo nur en la sistemoj Macintosh.

Livero sur liniontransigo sur linion (angle line feed, LF — livero [de papero] sur linion) estas stirsigno de Askio (0x0A, \n), ĉe kies eligo la kursoro translokiĝas al la sekva linio. Por printilo tio signifas transmovon de papero supren, por ekrano — transmovon de la kursoro suben se ankoraŭ restis loko kaj rulumon de la teksto supren se la kursoro estis ĉe la plej malsupra linio. Ĉu kursoro revenas al la madekstra rando, varias.

Do, eligo de la sekvo CR+LF en la semantiko de komputila terminalo garantias la agon «kreo de nova linio».

Ankaŭ terminaloj (kaj iliaj emuliloj) povas fari diversajn transformojn (ekzemple, LF → CR+LF, CR → CR+LF) dum enigo kaj eligo de teksto.

Dura linifaldo, ankaŭ nomata aparata linifaldo estas dividilo metita fare de uzanto. En maŝina prezento dura linifaldo estas klare esprimita, ordinare per stirsignoj aŭ markilo.

Mola linifaldo estas linirompo farita per teksta procesilo en elektita de ĝi loko de la teksto. Mola linifaldo disdividas liniojn de la teksto en ĝia vida prezento, sed povas esti ne esprimita en la maŝina prezento de tiu teksto.

En Askio[redakti | redakti fonton]

Sistemoj bazitaj sur Askio aŭ sur kongrua signaro uzas linirompon (LF, 0x0A) aŭ ĉaretrevenigon (CR, 0x0D), aŭ ilian kombinaĵon (CR+LF). Tiuj nomoj estas bazitaj sur komandoj de presilo: linirompo rulumas printilan cilindron je unu linio, kaj ĉaretrevenigo signifas, ke ĉareto de la printaparato devas reveni al la komenco de la kuranta linio.

En Unikodo[redakti | redakti fonton]

Laŭ la normo ajna unikodkongrua aplikaĵo devas kompreni kiel linirompon ĉiun el la jenaj signoj:

  • LF (U+000A): angle line feed — livero de linio;
  • CR (U+000D): carriage return — ĉaretrevenigo;
  • NEL (U+0085): next line — transiro al la sekva linio;
  • LS (U+2028): line separator — linia disdividilo;
  • PS (U+2029): paragraph separator — alinea disdividilo.

La vico CR+LF (U+000D U+000A) devas esti komprenata kiel unu linirompo kaj ne kiel du[1].

Problemoj[redakti | redakti fonton]

Manko de unueca komuna prezento de linirompo en diversaj operaciumoj komplikigas interŝanĝon de tekstaj datumoj inter ili. Unikodo penas solvi tiun diferencon, egaligante la koderojn CR, LF kaj CR+LF, sed per tio ĝi venas en kontraŭdiron kun la heredata de ĝi Askio ĉe traktado de la vico LF+CR antaŭ kiu ne estas CR: laŭ Askio tio estas unu linirompo, sed laŭ Unikodo estas du.

Ĉe enigo per klavaro linirompo estas en ĉiuj sistemoj prezentita per CR, kaj en sistemoj kun alia prezento de linirompo tekstaj datumoj estas transkodigataj.

Historio[redakti | redakti fonton]

En trukartaj sistemoj por stokado de datumoj unu linio estis skribata al unu trukarto, tial linio havis fiksitan longecon, laŭ kvanto de kolumnoj (plej ofte 80). Malpli longaj linioj estis kompletigataj per spacetoj, kaj pli longaj linioj estis mallongigataj. Linia dividilo ne estis, linirompo estis subkomprenigata ĉiuloke post 80 signoj. Kelkaj fruaj ĉefkomputilaj operaciumoj transprenis tion por stokado de teksto en dosieroj, kie ne plu estis natura limigo je linia longeco.

CR+LF[redakti | redakti fonton]

Meĥanikaj tajpiloj enhavis tenilon, kiu estis reveniganta ĉareton al la maldekstra paĝrando kaj rulumanta ŝafton movante paperon supren je unu linio. En teletajpiloj kaj pli malfruaj alfabetciferaj presiloj anstataŭ ĉareto estis presanta kapo, en laseraj printiloj ĝi ĉesis esti fizika parto, sed en la termino «ĉaretrevenigo» ĉio ĉi plu estis nomata per la vorto «ĉareto». En teletajpiloj ĉaretrevenigo kaj novlinio estis disdividitaj, kaj de tie la tradicio prezenti linirompon kiel CR+LF transiris al tekstaj dosieroj.

  1. Unicode Standard Annex #14: Unicode Line Breaking Algorithm (el Retarkivo 20090217023807) (angle)