Module:sinogramme

Bonjour, vous êtes venu ici pour chercher la signification du mot Module:sinogramme. Dans DICTIOUS, vous trouverez non seulement toutes les significations du dictionnaire pour le mot Module:sinogramme, mais vous apprendrez également son étymologie, ses caractéristiques et comment dire Module:sinogramme au singulier et au pluriel. Tout ce que vous devez savoir sur le mot Module:sinogramme est ici. La définition du mot Module:sinogramme vous aidera à être plus précis et correct lorsque vous parlerez ou écrirez vos textes. Connaître la définition deModule:sinogramme, ainsi que celles d'autres mots, enrichit votre vocabulaire et vous fournit des ressources linguistiques plus nombreuses et de meilleure qualité.

 Documentation

Usage

Ce module permet de renvoyer les informations des sinogrammes (caractères chinois).

Importation dans un module : local sinogramme = require("Module:sinogramme")

Fonctions utilisables dans les modules :

chaine_radical_trait(str)
renvoie le radical et le nombre des traits d’un sinogramme donné.

Fonctions utilisables dans un modèle ou dans une page :

radical_trait(frame)
utilisé dans {{radical trait}}.
regex(frame)
utilisé dans {{regex han}}.

Données

Notes

Le regex des sinogrammes est :

comprenant les caractères suivants :

  • U+2E80-2FD5
  • U+3005-3007
  • U+30F6
  • U+3400-4DBF
  • U+4E00-9FFF
  • U+FA0E-FA29
  • U+20000-2A707
  • U+2A709-2CEFF
  • U+2CF01-2FFFF

Cette liste est basée sur Unicode Utilities: UnicodeSet: \p{Han} avec les modifications suivantes :

Exclus :

  • Numéraux Suzhou (U+3021-303A) : pas des sinogrammes
  • (U+303B) : un hiragana
  • Idéogrammes de compatibilité CJC (U+F900-FA0D, U+FA2A-FAD9) : pas disponibles sur MediaWiki (voir Discussion module:sinogramme/radical trait F000)
  • 𪜈 (U+2A708) : un katakana
  • 𬼀 (U+2CF00) : un katakana

Inclus :

  • (U+3006) : effectivement un sinogramme comme (U+4E44)
  • (U+30F6) : effectivement un sinogramme comme (U+7B87)

local sinogramme = {}

local chaine_regex = "⺀-⿕々-〇ヶ㐀-䶿一-鿿﨎-﨩𠀀-𪜇𪜉-𬻿𬼁-𯿿"
local tableau_radical_trait = {}

local function code_radical_trait(char)
	local code = mw.ustring.codepoint(char)
	local page = math.floor(code / 0x1000)
	local tableau = tableau_radical_trait
	if not tableau then
		tableau = mw.loadData(mw.ustring.format("Module:sinogramme/radical trait %X000", page))
		tableau_radical_trait = tableau
	end
	return tableau
end

function sinogramme.chaine_radical_trait(str)
	str = mw.ustring.gsub(str, "()", code_radical_trait)
	return str
end

-- Fonctions pour des modèles.
function sinogramme.radical_trait(frame)
	local str = frame.args or ""
	return sinogramme.chaine_radical_trait(str)
end

function sinogramme.regex(frame)
	return chaine_regex
end

return sinogramme