CINXE.COM
De Born vun Modul:ISO15924 wiesen. – Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available" lang="nds" dir="ltr"> <head> <meta charset="UTF-8"> <title>De Born vun Modul:ISO15924 wiesen. – Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-not-available";var cookie=document.cookie.match(/(?:^|; )ndswikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":true,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat": "dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"fe83cab2-055b-49fe-809c-1977518cbb78","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Modul:ISO15924","wgTitle":"ISO15924","wgCurRevisionId":926977,"wgRevisionId":0,"wgArticleId":128072,"wgIsArticle":false,"wgIsRedirect":false,"wgAction":"edit","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Modul:ISO15924","wgRelevantArticleId":128072,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr", "pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgCodeEditorCurrentLanguage":"lua","wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.codeEditor.styles":"ready","skins.vector.search.codex.styles":"ready", "skins.vector.styles":"ready","skins.vector.icons":"ready","ext.charinsert.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.codeEditor","ext.scribunto.edit","mediawiki.action.edit.collapsibleFooter","site","mediawiki.page.ready","skins.vector.js","ext.centralNotice.geoIP","ext.charinsert","ext.urlShortener.toolbar","ext.centralauth.centralautologin","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=nds&modules=ext.charinsert.styles%7Cext.codeEditor.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=nds&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=nds&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,nofollow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="De Born vun Modul:ISO15924 wiesen. – Wikipedia"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//nds.m.wikipedia.org/wiki/Modul:ISO15924"> <link rel="alternate" type="application/x-wiki" title="Ännern" href="/w/index.php?title=Modul:ISO15924&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (nds)"> <link rel="EditURI" type="application/rsd+xml" href="//nds.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://nds.wikipedia.org/wiki/Modul:ISO15924"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.nds"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed för Wikipedia" href="/w/index.php?title=Spezial:Toletzt_%C3%A4nnert&feed=atom"> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="codeeditor-loading skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject mw-editable page-Modul_ISO15924 rootpage-Modul_ISO15924 skin-vector-2022 action-edit"><a class="mw-jump-link" href="#bodyContent">Zum Inhalt springen</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Website"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Hauptmenü" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Hauptmenü</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Hauptmenü</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">versteken</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigatschoon </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-text" class="mw-list-item"><a href="/wiki/Wikipedia:H%C3%B6%C3%B6ftsiet"><span>Hööftsiet</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:Infos_f%C3%B6r_Niege"><span>Över Wikipedia</span></a></li><li id="n-Ik-bruuk-Hülp" class="mw-list-item"><a href="/wiki/Wikipedia:Ik_bruuk_H%C3%BClp"><span>Ik bruuk Hülp</span></a></li><li id="n-Artikels-na-Alphabet" class="mw-list-item"><a href="/wiki/Spezial:Alle_Sieden"><span>Artikels na Alphabet</span></a></li><li id="n-Ne’en-Artikel-schrieven" class="mw-list-item"><a href="/wiki/Wikipedia:Ne%E2%80%99en_Artikel_schrieven"><span>Ne’en Artikel schrieven</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Tof%C3%A4llige_Siet" title="Tofällige Siet [x]" accesskey="x"><span>Tofällige Siet</span></a></li> </ul> </div> </div> <div id="p-Mitmaken" class="vector-menu mw-portlet mw-portlet-Mitmaken" > <div class="vector-menu-heading"> Mitmaken </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="https://nds.wikipedia.org/wiki/Hülp:Hülp" title="Hier kriegst du Hülp."><span>Hülp</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Portal" title="över dat Projekt, wat du doon kannst, woans du de Saken finnen kannst"><span>Wikipedia-Portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Toletzt_%C3%A4nnert" title="Wat in dit Wiki toletzt ännert worrn is. [r]" accesskey="r"><span>Toletzt ännert</span></a></li> </ul> </div> </div> <div id="p-" class="vector-menu mw-portlet mw-portlet-" > <div class="vector-menu-heading"> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Kuntakt" class="mw-list-item"><a href="/wiki/Wikipedia:Kuntakt"><span>Kuntakt</span></a></li><li id="n-Impressum" class="mw-list-item"><a href="/wiki/Wikipedia:Impressum"><span>Impressum</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Wikipedia:H%C3%B6%C3%B6ftsiet" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="Dat fre’e Nakieksel" src="/static/images/mobile/copyright/wikipedia-tagline-nds.svg" width="99" height="10" style="width: 6.1875em; height: 0.625em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Spezial:S%C3%B6%C3%B6k" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Söken in dit Wiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Söken</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Söken Wikipedia" aria-label="Söken Wikipedia" autocapitalize="sentences" title="Söken in dit Wiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Spezial:Söök"> </div> <button class="cdx-button cdx-search-input__end-button">Söken</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Persönliche Warktüüch"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Erscheinungsbild"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Änderung des Aussehens der Schriftgröße, -breite und -farbe der Seite" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Erscheinungsbild" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Erscheinungsbild</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_nds.wikipedia.org&uselang=nds" class=""><span>Spennen</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Spezial:Brukerkonto_anleggen&returnto=Modul%3AISO15924&returntoquery=action%3Dedit" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich." class=""><span>Brukerkonto inrichten</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Spezial:Anmellen&returnto=Modul%3AISO15924&returntoquery=action%3Dedit" title="Du kannst di geern anmellen, dat is aver nich nödig, dat du Sieden ännern kannst. [o]" accesskey="o" class=""><span>Anmellen</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Weitere Optionen" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Persönliche Warktüüch" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Persönliche Warktüüch</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal" title="Benutzermenü" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_nds.wikipedia.org&uselang=nds"><span>Spennen</span></a></li><li id="pt-contribute" class="mw-list-item"><a href="/wiki/Spezial:Contribute"><span class="vector-icon mw-ui-icon-edit mw-ui-icon-wikimedia-edit"></span> <span>Beitragen</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Spezial:Brukerkonto_anleggen&returnto=Modul%3AISO15924&returntoquery=action%3Dedit" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Brukerkonto inrichten</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Spezial:Anmellen&returnto=Modul%3AISO15924&returntoquery=action%3Dedit" title="Du kannst di geern anmellen, dat is aver nich nödig, dat du Sieden ännern kannst. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Anmellen</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Seiten für abgemeldete Benutzer <a href="/wiki/H%C3%BClp:Einf%C3%BChrung" aria-label="Erfahre mehr über das Bearbeiten"><span>Weitere Informationen</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Miene_Diskuschoonssiet" title="Diskuschoon över Ännern vun disse IP-Adress [n]" accesskey="n"><span>Diskuschoon</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Website"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <h1 id="firstHeading" class="firstHeading mw-first-heading">De Born vun Modul:ISO15924 wiesen.</h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Dieser Artikel existiert nur in dieser Sprache. Füge den Artikel für andere Sprachen hinzu" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">Spraaken tofögen</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Naamrüüm"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Modul:ISO15924" title="Die Modulseite ansehen [c]" accesskey="c"><span>Modul</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modul_Diskussion:ISO15924&action=edit&redlink=1" rel="discussion" class="new" title="Diskuschoon över disse Siet (Siet noch nich vörhannen) [t]" accesskey="t"><span>Diskuschoon</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Sprachvariante ändern" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Ansichten"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="vector-tab-noicon mw-list-item"><a href="/wiki/Modul:ISO15924"><span>Lesen</span></a></li><li id="ca-edit" class="selected vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modul:ISO15924&action=edit" title="Bornkoood vun düsse Siet ännern"><span>Bornkood ännern</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modul:ISO15924&action=history" title="Historie vun disse Siet. [h]" accesskey="h"><span>Historie bekieken</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Seitenwerkzeuge"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Warktüüch" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Warktüüch</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Warktüüch</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">versteken</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Weitere Optionen" > <div class="vector-menu-heading"> Aktionen </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="vector-more-collapsible-item mw-list-item"><a href="/wiki/Modul:ISO15924"><span>Lesen</span></a></li><li id="ca-more-edit" class="selected vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Modul:ISO15924&action=edit" title="Bornkoood vun düsse Siet ännern [e]" accesskey="e"><span>Bornkood ännern</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Modul:ISO15924&action=history"><span>Historie bekieken</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Allmeen </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Wat_wiest_hier_hen/Modul:ISO15924" title="Wat wiest hierher [j]" accesskey="j"><span>Wat linkt na disse Siet</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nnern_an_lenkte_Sieden/Modul:ISO15924" rel="nofollow" title="Verlinkte Sieden [k]" accesskey="k"><span>Ännern an linkt Sieden</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=nds" title="Biller oder Mediendatein hoochladen [u]" accesskey="u"><span>Hoochladen</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialsieden" title="List vun alle Spezialsieden [q]" accesskey="q"><span>Sünnerliche Sieden</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Modul:ISO15924&action=info" title="Weitere Informationen über diese Seite"><span>Siedeninformatschonen</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&url=https%3A%2F%2Fnds.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DModul%3AISO15924%26action%3Dedit"><span>Gekürzte URL abrufen</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrCode&url=https%3A%2F%2Fnds.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DModul%3AISO15924%26action%3Dedit"><span>QR-Code runterladen</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In anner Projekten </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q71584769" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata Saak</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Seitenwerkzeuge"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Erscheinungsbild"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Erscheinungsbild</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">versteken</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> </div> <div id="contentSub"><div id="mw-content-subtitle">← <a href="/wiki/Modul:ISO15924" title="Modul:ISO15924">Modul:ISO15924</a></div></div> <div id="mw-content-text" class="mw-body-content"><p>Du hest nich de Rechten de Siet to ännern. Dat hett dissen Grund: </p> <div class="permissions-errors"><div class="mw-permissionerror-globalblocking-blockedtext-range"><b>Deine IP-Adresse befindet sich in einem Bereich, der <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Global_blocks" class="extiw" title="m:Special:MyLanguage/Global blocks">in allen Wikimedia Foundation-Wikis</a> gesperrt ist.</b> <p>Die Sperre wurde durchgeführt von <a href="/wiki/Bruker:Jon_Kolbert" title="Bruker:Jon Kolbert">Jon Kolbert</a>. Die angegebene Begründung ist <i><a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/NOP" class="extiw" title="m:Special:MyLanguage/NOP">Open proxy/Webhost</a>: See the <a href="https://meta.wikimedia.org/wiki/WM:OP/H" class="extiw" title="m:WM:OP/H">help page</a> if you are affected </i>. </p> <ul><li>Beginn der Sperre: 16:12, 27. Aug. 2023</li> <li>Ablauf der Sperre: 16:12, 27. Aug. 2028</li></ul> <p>Deine aktuelle IP-Adresse ist 8.222.208.146. Der gesperrte Bereich ist 8.222.128.0/17. </p><p>Wee so fründli all de Saken dor boben in elkeen Anfraag to schrieven! Wenn du glaubst, dass die Sperre ein Fehler ist, kannst du zusätzliche Informationen und Hilfestellungen in der globalen Richtlinie „<a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/No_open_proxies" class="extiw" title="m:Special:MyLanguage/No open proxies">Keine offenen Proxys</a>“ finden. </p> Anderenfalls stelle bitte <a href="https://meta.wikimedia.org/wiki/Steward_requests/Global" class="extiw" title="m:Steward requests/Global">eine Anfrage im Meta-Wiki</a>, um die Sperre zu diskutieren. Du kannst auch eine E-Mail an die <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Stewards" class="extiw" title="m:Special:MyLanguage/Stewards">Steward</a>-<a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/VRT" class="extiw" title="m:Special:MyLanguage/VRT">VRT</a>-Queue per <kbd>stewards@wikimedia.org</kbd> inklusive aller obigen Details schicken.</div></div><hr /> <p>Kannst den Borntext vun disse Siet ankieken un koperen: </p><textarea readonly="" accesskey="," id="wpTextbox1" cols="80" rows="25" style="" class="mw-editfont-monospace" lang="en" dir="ltr" name="wpTextbox1">local ISO15924 = { suite = "ISO15924", serial = "2020-03-10", item = 71584769, statics = "codes" } --[=[ ISO 15924 support for scripting systems * fetch() * getLanguageScript() * getScripts() * isCJK() * isRTL() * isScript() * isTrans() * scriptName() * showScript() * showScripts() * testScripts() * failsafe() ]=] local Failsafe = ISO15924 local GlobalMod = ISO15924 local Unicode ISO15924.Text = { } ISO15924.Unicode = { } Unicode = ISO15924.Unicode Unicode.RomanN = { bef = { [ 32 ] = true, [ 160 ] = true, [ 8239 ] = true, [ 40 ] = true, [ 45 ] = true, [ 91 ] = true }, dig = { [ 73 ] = true, -- I [ 86 ] = true, -- V [ 88 ] = true, -- X [ 76 ] = true, -- L [ 67 ] = true, -- C [ 68 ] = true, -- D [ 77 ] = true -- M }, fol = { [ 32 ] = true, [ 160 ] = true, [ 8239 ] = true, [ 41 ] = true, [ 44 ] = true, [ 46 ] = true, [ 93 ] = true } } ISO15924.Commons = { "cjk", "iso639script", "reverse", "rtl", "trans", "unicodes" } local foreignModule = function ( access, advanced, append, alt, alert ) -- Fetch global module -- Precondition: -- access -- string, with name of base module -- advanced -- true, for require(); else mw.loadData() -- append -- string, with subpage part, if any; or false -- alt -- number, of wikidata item of root; or false -- alert -- true, for throwing error on data problem -- Postcondition: -- Returns whatever, probably table -- 2019-10-29 local storage = access local finer = function () if append then storage = string.format( "%s/%s", storage, append ) end end local fun, lucky, r, suited if advanced then fun = require else fun = mw.loadData end GlobalMod.globalModules = GlobalMod.globalModules or { } suited = GlobalMod.globalModules[ access ] if not suited then finer() lucky, r = pcall( fun, "Module:" .. storage ) end if not lucky then if not suited and type( alt ) == "number" and alt > 0 then suited = string.format( "Q%d", alt ) suited = mw.wikibase.getSitelink( suited ) GlobalMod.globalModules[ access ] = suited or true end if type( suited ) == "string" then storage = suited finer() lucky, r = pcall( fun, storage ) end if not lucky and alert then error( "Missing or invalid page: " .. storage, 0 ) end end return r end -- foreignModule() local function fill( accumulate, assign, append ) -- Copy external sequence into local collection -- Precondition: -- accumulate -- table, with relevant definitions -- assign -- table, with assigned definitions -- append -- table, if code names to be appended to entries if type( assign ) == "table" then local e for k, v in pairs( assign ) do if type( v ) == "table" then e = { } for kk, vv in pairs( v ) do table.insert( e, vv ) end -- for kk, vv if append then for i = 1, #append do table.insert( e, append[ i ] ) end -- for i end table.insert( accumulate, e ) end end -- for k, v end end -- fill() local function fulfil( ask, attribute ) -- Check whether script has a certain attribute -- Precondition: -- ask -- string, with language or script code -- attribute -- string, with "cjk" or "rtl" -- Returns true, if matchin local got = ISO15924.fetch( attribute ) local r if type( got ) == "table" then local n = #ask local script if n == 4 then script = ask elseif n < 4 then script = ISO15924.getLanguageScript( ask ) else script = ask:match( "^%a%a%a?%-(%a%a%a%a)$" ) if not script then script = ask:match( "^(%a%a%a?)%-%a%a$" ) script = ISO15924.getLanguageScript( script ) end end if script then script = script:sub( 1, 1 ):upper() .. script:sub( 2 ):lower() r = got[ script ] end end return r or false end -- fulfil() ISO15924.Text.scriptName = function ( assigned, alien, add ) -- Retrieve script name, hopefully linked -- Precondition: -- assigned -- string, with script code -- alien -- string, with language code, or not -- add -- arbitrary additional information -- Returns string local r, trsl if type( assigned ) == "string" and assigned:match( "^%u%l%l%l$" ) then trsl = ISO15924.fetch( "translate" ) r = assigned else r = "" end if type( trsl ) == "table" then local slang if type( alien ) == "string" and alien:match( "^%l%l%l?%-?" ) then slang = alien:lower() end if not slang then if not ISO15924.Text.sublang then local title = mw.title.getCurrentTitle() ISO15924.Text.sublang = title.text:match( "/%l%l%l?$" ) ISO15924.Text.sublang = ISO15924.Text.sublang or true end if type( ISO15924.Text.sublang ) == "string" and type( trsl[ ISO15924.Text.sublang ] ) == "table" then slang = ISO15924.Text.sublang end end if not slang then if not ISO15924.Text.sitelang then local contLang = mw.language.getContentLanguage() ISO15924.Text.sitelang = contLang:getCode():lower() end slang = ISO15924.Text.sitelang end if type( trsl[ slang ] ) == "table" then trsl = trsl[ slang ] elseif type( trsl.en ) == "table" then trsl = trsl.en slang = "en" else trsl = false end if trsl then local pages = ISO15924.fetch( "pages" ) trsl = trsl[ assigned ] if type( trsl ) == "string" then r = trsl elseif type( trsl ) == "table" then if type( trsl[ 1 ] ) == "string" then r = trsl[ 1 ] if add and slang == "de" then if tonumber( add ) == 2 and type( trsl[ 2 ] ) == "string" then r = trsl[ 2 ] end end end end if type( pages ) == "table" then local p for k, v in pairs( pages ) do if type( v ) == "table" and v.lang == slang then p = v break -- for k, v end end -- for k, v if p and type( p.targets ) == "table" then p = p.targets[ assigned ] if type( p ) == "string" then -- different server issues -- if mw.ustring.upper( mw.ustring.sub( p, 1, 1 ) ) ~= mw.ustring.upper( mw.ustring.sub( r, 1, 1 ) ) or mw.ustring.sub( p, 2 ) ~= mw.ustring.sub( r, 2 ) then r = string.format( "%s|%s", p, r ) end r = string.format( "[[%s]]", r ) end end end if add and slang == "de" then if tonumber( add ) == 2 then local s = "in " if type( trsl ) == "table" and type( trsl[ 3 ] ) == "string" then s = trsl[ 3 ] .. " " end r = s .. r end end end end return r end -- ISO15924.Text.scriptName() Unicode.flat = function ( analyse ) -- Remove markup and syntax from wikitext -- Precondition: -- analyse -- string, with wikitext -- Returns string, with cleaned content plain text local r = analyse if r:find( "&", 1, true ) then r = mw.text.decode( r, true ) end r = mw.text.trim( mw.text.unstrip( r ) ) if r:find( "<", 1, true ) and r:find( ">", 1, true ) then r = r:gsub( "(</?%l[^>]*>)", "" ) end if r:find( "[", 1, true ) and ( ( r:find( "[[", 1, true ) and r:find( "]]", 1, true ) ) or r:find( "[http", 1, true ) or r:find( "[//", 1, true ) ) then local lucky, WLink = pcall( require, "Module:WLink" ) if type( WLink ) == "table" then r = WLink.WLink().getPlain( r ) end end return r end -- Unicode.flat() Unicode.getRanges = function () -- Retrieve collection of Unicode ranges -- Returns table, with all relations codepoint / scripts if type( Unicode.ranges ) ~= "table" then local e, unique Unicode.ranges = { } unique = ISO15924.fetch( "reverse" ) for k, range in pairs( unique ) do e = { } for j, v in pairs( range ) do table.insert( e, v ) end -- for j, v table.insert( Unicode.ranges, e ) end -- for k, range end return Unicode.ranges end -- Unicode.getRanges() Unicode.getScripts = function ( allow, analyse, assume ) -- Check all chars for expected script code ranges -- Precondition: -- allow -- table, with permitted unspecific ranges -- analyse -- string or number or table, with text -- assume -- string, or nil, with ID of expected script -- Returns table, with all relations codepoint / scripts local uc = Unicode.getRanges() local cp = type( analyse ) local r = { } local e, n, p, s, v if cp == "string" then e = Unicode.flat( analyse ) cp = { } n = mw.ustring.len( e ) for i = 1, n do table.insert( cp, mw.ustring.codepoint( e, i, i ) ) end -- for i elseif cp == "table" then cp = analyse elseif cp == "number" then cp = { analyse } end for i = 1, #cp do n = cp[ i ] p = { n, false } for k = 1, #uc do e = uc[ k ] if n <= e[ 2 ] then if n >= e[ 1 ] then v = e[ 3 ] if type( v ) == "table" then s = v[ 1 ] if assume then for j = 2, #v do if v[ j ] == assume then s = v[ j ] break -- for j end end -- for j end else s = "???" end p[ 2 ] = s n = false end break -- for k elseif n < e[ 1 ] then break -- for k end end -- for k if n then for j = 1, #allow do e = allow[ j ] if n <= e[ 2 ] then if n >= e[ 1 ] then p[ 2 ] = true end break -- for j elseif n < e[ 1 ] then break -- for j end end -- for j end table.insert( r, p ) end -- for i return r end -- Unicode.getScripts() Unicode.isScript = function ( all, ask, analyse ) -- Check all chars for expected script code ranges -- Precondition: -- all -- table, with all definitions -- ask -- string, with supposed script code -- analyse -- string or number or table, with text -- Returns -- 1. true, if all chars within -- 2. table, with analyse text local f = function ( array, amount, a ) local k = a local e for i = 1, amount do e = array[ i ] if k >= e[ 1 ] then if k <= e[ 2 ] then k = false break -- for i end else break -- for i end end -- for i return k end local s = analyse local cp = type( s ) local uc = { } local xx = { } local r = true local m, na, nu, nx if cp == "string" then s = Unicode.flat( s ) cp = { } na = mw.ustring.len( s ) for i = 1, na do table.insert( cp, mw.ustring.codepoint( s, i, i ) ) end -- for i elseif cp == "table" then cp = s elseif cp == "number" then cp = { s } else cp = { } end Unicode.merge( uc, all, ask ) Unicode.merge( xx, all, "*" ) na = #cp nu = #uc nx = #xx for j = 1, na do m = f( uc, nu, cp[ j ] ) if m then m = f( xx, nx, m ) if m then r = false break -- for j end end end -- for j return r, cp end -- Unicode.isScript() Unicode.merge = function ( accumulate, all, ask, append ) -- Ensure single list of items -- Precondition: -- accumulate -- table, with collection to be extended -- all -- table, with all definitions -- ask -- string, with requested script code -- append -- true, if code names to be appended to entries -- The accumulate table may have been extended local g = all[ ask ] if type( g ) == "table" then local codes, s for k, v in pairs( g ) do s = type( v ) break -- for k, v end -- for k, v if s == "string" then for k, v in pairs( g ) do if append then codes = { ask, v } table.sort( codes ) end fill( accumulate, all[ v ], codes ) end -- for k, v Unicode.sort( accumulate ) elseif s == "table" then if append then codes = { ask } end fill( accumulate, g, codes ) end end end -- Unicode.merge() Unicode.romanNumbers = function ( array, at ) -- Check for possible roman numbers -- Precondition: -- array -- table, with elements as sequence tables -- all -- number, with position within array -- Returns number, which is identical or greater than at, to proceed local r = at local e = array[ r ] if Unicode.RomanN.dig[ e[ 1 ] ] and r > 1 and Unicode.RomanN.bef[ array[ r - 1 ][ 1 ] ] then local j = r while j < #array do e = array[ j + 1 ] if Unicode.RomanN.dig[ e[ 1 ] ] then j = j + 1 else break -- while j end end -- while j if j == #array or Unicode.RomanN.fol[ e[ 1 ] ] then r = j + 1 end end return r end -- Unicode.romanNumbers() Unicode.showScripts = function ( analysed ) -- Retrieve codepoints and assigned script codes for string -- Precondition: -- analysed -- table, as returned by Unicode.getScripts() -- Returns string, with every codepoint-script identified local r = "" local c, d, k, s for i = 1, #analysed do c = analysed[ i ] k = c[ 1 ] s = string.format( "%X", k ) d = c[ 2 ] if d then if type( d ) == "string" then s = string.format( "%s-%s-%s", s, mw.ustring.char( k ), d ) end else s = s .. "-????" end r = string.format( "%s %s", r, s ) end -- for i return r end -- Unicode.showScripts() Unicode.sort = function ( apply ) -- Sort code ranges -- apply -- table, with request local function f( a1, a2 ) return a1[ 1 ] < a2[ 1 ] end table.sort( apply, f ) end -- Unicode.sort() Unicode.testScripts = function ( assume, analyse ) -- Check whether all chars match script -- Precondition: -- assume -- string, with expected script code -- analyse -- string or number or table, with text -- Postcondition: -- Returns -- 1. number, of chars matching assume -- 2. number, of chars violating assume local rA = 0 local rX = 0 local xx = { } local i = 1 local cp, e, p Unicode.merge( xx, ISO15924.fetch( "unicodes" ), "*" ) cp = Unicode.getScripts( xx, analyse, assume ) while i <= #cp do e = cp[ i ] p = e[ 2 ] if type( p ) == "string" then if p == assume then rA = rA + 1 elseif p == "Latn" then local j = Unicode.romanNumbers( cp, i ) if j > i then i = j rX = rX - 1 end rX = rX + 1 end end i = i + 1 end -- while i return rA, rX end -- Unicode.testScripts() ISO15924.fetch = function ( access, alert ) -- Fetch mw.loadData component -- Precondition: -- access -- table name -- alert -- true, for throwing error on data problem -- Postcondition: -- Returns table local r = ISO15924[ access ] if type( r ) ~= "table" then local ext, s, sub if not ISO15924.config then ISO15924.config = true ISO15924.fetch( "config", alert ) -- self if ISO15924.config.live then ISO15924.statics = "commons" end end for i = 1, #ISO15924.Commons do s = ISO15924.Commons[ i ] if s == access then sub = ISO15924.statics break -- for i end end -- for i sub = sub or access ISO15924.loadData = ISO15924.loadData or { } if ISO15924.loadData[ sub ] then ext = ISO15924.loadData[ sub ] else ext = foreignModule( ISO15924.suite, false, sub, ISO15924.item, alert ) ISO15924.loadData[ sub ] = ext end if type( ext ) == "table" then if type( ext[ access ] ) == "table" then r = ext[ access ] elseif sub == "config" then r = ext else r = { } end else r = { } end ISO15924[ access ] = r end return r end -- ISO15924.fetch() ISO15924.getLanguageScript = function ( ask ) -- Retrieve primary script for language -- Precondition: -- ask -- string, with language code -- Returns string, with associated script code local r if type( ask ) == "string" then local s = ask local n = #s if n == 7 or n == 8 then r = s:match( "^%a%a%a?%-(%a%a%a%a)$" ) if r then r = r:sub( 1, 1 ):upper() .. r:sub( 2 ):lower() end elseif n > 3 then s = s:match( "^(%a%a%a?)%-" ) end if not r and s then local written = ISO15924.fetch( "iso639script" ) if type( written ) == "table" then r = written[ s:lower() ] if type( r ) == "table" then r = r[ 1 ] end end end end return r or "Latn" end -- ISO15924.getLanguageScript() ISO15924.getScripts = function ( analyse ) -- Retrieve codepoints and assigned script codes -- Precondition: -- analyse -- string or number or table, with text -- Returns table, with all relations codepoint / scripts local xx = { } Unicode.merge( xx, ISO15924.fetch( "unicodes" ), "*" ) return Unicode.getScripts( xx, analyse, false ) end -- ISO15924.getScripts() ISO15924.isCJK = function ( ask ) -- Check whether script is Chinese-Japanese-Korean (CJK) -- Precondition: -- ask -- string, with language or script code -- Returns true, if CJK return fulfil( ask, "cjk" ) end -- ISO15924.isCJK() ISO15924.isRTL = function ( ask ) -- Check whether script is right-to-left -- Precondition: -- ask -- string, with language or script code -- Returns true, if right-to-left return fulfil( ask, "rtl" ) end -- ISO15924.isRTL() ISO15924.isScript = function ( assume, analyse ) -- Check all chars for expected script code ranges -- Precondition: -- assume -- string, with expected script code -- analyse -- string or number or table, with text -- Returns -- 1. true, if all chars within -- 2. analyse as table return Unicode.isScript( ISO15924.fetch( "unicodes" ), assume, analyse ) end -- ISO15924.isScript() ISO15924.isTrans = function ( ask, assign, about ) -- Check whether valid transcription for context -- Precondition: -- ask -- string, with transcription key -- assign -- string, with language or scripting code -- about -- string or nil, with site scripting code -- Postcondition: -- Returns boolean local r = false local t, trans local r, trsl if type( ask ) == "string" then local trans = ISO15924.fetch( "trans" ) local t = trans[ assign ] if type( t ) == "table" then for k, v in pairs( t ) do if v == ask then r = true break -- for i end end -- for k, v end end if not r and about == "Latn" then r = ( ask == "BGN-PCGN" or ask == "ALA-LC" ) end return r end -- ISO15924.isTrans() ISO15924.scriptName = function ( assigned, alien, add ) -- Retrieve script name, hopefully linked -- Precondition: -- assigned -- string, with script code -- alien -- string, with language code, or not -- add -- arbitrary additional information -- Returns string return ISO15924.Text.scriptName( assigned, alien, add ) end -- ISO15924.scriptName() ISO15924.showScript = function ( analyse ) -- Retrieve assigned script code of first character -- Precondition: -- analyse -- string or number or table, with text -- Returns string, with every codepoint-script identified local xx = { } local cp, r Unicode.merge( xx, ISO15924.fetch( "unicodes" ), "*" ) cp = Unicode.getScripts( xx, analyse, false ) if #cp > 0 then local s = cp[ 1 ][ 2 ] if type( s ) == "string" then r = s end end return r or false end -- ISO15924.showScript() ISO15924.showScripts = function ( analyse ) -- Retrieve codepoints and assigned script codes for and as string -- Precondition: -- analyse -- string or number or table, with text -- Returns string, with every codepoint-script identified local xx = { } local cp Unicode.merge( xx, ISO15924.fetch( "unicodes" ), "*" ) cp = Unicode.getScripts( xx, analyse, false ) return Unicode.showScripts( cp ) end -- ISO15924.showScripts() ISO15924.testScripts = function ( assume, analyse ) -- Check whether all chars match script -- Precondition: -- assume -- string, with expected script code -- analyse -- string or number or table, with text -- Postcondition: -- Returns -- 1. number, of chars matching assume -- 2. number, of chars violating assume return Unicode.testScripts( assume, analyse ) end -- ISO15924.testScripts() Failsafe.failsafe = function ( atleast ) -- Retrieve versioning and check for compliance -- Precondition: -- atleast -- string, with required version or "wikidata" or "~" -- or false -- Postcondition: -- Returns string -- with queried version, also if problem -- false -- if appropriate -- 2019-10-15 local last = ( atleast == "~" ) local since = atleast local r if last or since == "wikidata" then local item = Failsafe.item since = false if type( item ) == "number" and item > 0 then local entity = mw.wikibase.getEntity( string.format( "Q%d", item ) ) if type( entity ) == "table" then local seek = Failsafe.serialProperty or "P348" local vsn = entity:formatPropertyValues( seek ) if type( vsn ) == "table" and type( vsn.value ) == "string" and vsn.value ~= "" then if last and vsn.value == Failsafe.serial then r = false else r = vsn.value end end end end end if type( r ) == "nil" then if not since or since <= Failsafe.serial then r = Failsafe.serial else r = false end end return r end -- Failsafe.failsafe() -- Export local p = { } p.getLanguageScript = function ( frame ) local s = mw.text.trim( frame.args[ 1 ] or "" ) return ISO15924.getLanguageScript( s ) end -- p.getLanguageScript p.isCJK = function ( frame ) local s = mw.text.trim( frame.args[ 1 ] or "" ) return ISO15924.isCJK( s ) and "1" or "" end -- p.isCJK() p.isRTL = function ( frame ) local s = mw.text.trim( frame.args[ 1 ] or "" ) return ISO15924.isRTL( s ) and "1" or "" end -- p.isRTL() p.isScript = function ( frame ) local s1 = mw.text.trim( frame.args[ 1 ] or "" ) local s2 = mw.text.trim( frame.args[ 2 ] or "" ) local r, cp = ISO15924.isScript( s1, s2 ) return r and "1" or "" end -- p.isScript p.isTrans = function ( frame ) -- Check whether valid transcription for context -- 1 -- string, with transcription key -- 2 -- string, with language or scripting code -- site -- string or nil, with site scripting code local s1 = mw.text.trim( frame.args[ 1 ] or "" ) local s2 = mw.text.trim( frame.args[ 2 ] or "" ) local site = mw.text.trim( frame.args.site or "" ) return ISO15924.isTrans( s1, s2, site ) and "1" or "" end -- p.isTrans p.scriptName = function ( frame ) local s1 = mw.text.trim( frame.args[ 1 ] or "" ) local s2 = mw.text.trim( frame.args[ 2 ] or "" ) local slang = mw.text.trim( frame.args.lang or "" ) return ISO15924.Text.scriptName( s1, slang, s2 ) end -- p.scriptName p.showScript = function ( frame ) local s = frame.args[ 1 ] local r if s then s = mw.text.trim( s ) if s ~= "" then if s:sub( 1, 2 ) == "U+" then s = s:match( "^U%+(%x+)$" ) if s then s = tonumber( s, 16 ) end end if s then r = ISO15924.showScript( s ) end end end return r or "" end -- p.showScript p.showScripts = function ( frame ) local s = frame.args[ 1 ] local r if s then r = ISO15924.showScripts( mw.text.trim( s ) ) else r = "" end return r end -- p.showScripts p.failsafe = function ( frame ) -- Versioning interface local s = type( frame ) local since if s == "table" then since = frame.args[ 1 ] elseif s == "string" then since = frame end if since then since = mw.text.trim( since ) if since == "" then since = false end end return Failsafe.failsafe( since ) or "" end -- p.failsafe() p.ISO15924 = function () return ISO15924 end -- p.ISO15924 return p </textarea><div id="mw-scribunto-console"></div><div class="templatesUsed"><div class="mw-templatesUsedExplanation"><p>Vörlaag, de op düsse Siet bruukt warrt: </p></div><ul> <li><a href="/w/index.php?title=Modul:ISO15924/Doku&action=edit&redlink=1" class="new" title="Modul:ISO15924/Doku (Siet noch nich vörhannen)">Modul:ISO15924/Doku</a> (<a href="/w/index.php?title=Modul:ISO15924/Doku&action=edit" class="new" title="Modul:ISO15924/Doku (Siet noch nich vörhannen)">ännern</a>) </li></ul></div><p id="mw-returnto">Trüch to <a href="/wiki/Modul:ISO15924" title="Modul:ISO15924">Modul:ISO15924</a>.</p> <!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Vun „<a dir="ltr" href="https://nds.wikipedia.org/wiki/Modul:ISO15924">https://nds.wikipedia.org/wiki/Modul:ISO15924</a>“</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Dotenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:Infos_f%C3%B6r_Niege">Över Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Allmeen_Haftungsutschluss">Haftungsutschluss</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Moker</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/nds.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie Regeln</a></li> <li id="footer-places-mobileview"><a href="//nds.m.wikipedia.org/w/index.php?title=Modul:ISO15924&action=edit&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Lütten Bildschirm</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-lpt26","wgBackendResponseTime":171,"wgPageParseReport":{"limitreport":{"cputime":"0.004","walltime":"0.006","ppvisitednodes":{"value":17,"limit":1000000},"postexpandincludesize":{"value":778,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":2,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 0.000 1 -total"]},"cachereport":{"origin":"mw-web.codfw.main-5c59558b9d-lpt26","timestamp":"20241201102652","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>