Cèṭa'an:Infobox punctuation mark
Infobox punctuation mark |
---|
Galat: tidak ada pintasan yang ditentukan |msg= parameter tidak ditentukan.
TemplateStyles'src
attribute must not be empty.This template uses Lua: |
Infobox for punctuation marks and diacritics (characters).
{{Infobox diacritic}}
is a synonym (redirect) for this template.
Usage
beccè'Basic
beccè'{{Infobox punctuation
|mark = ,
|name = Comma
|other_names =
|unicode = {{unichar|002C|COMMA}}
|see_also = [[semicolon]]
}}
With variants
beccè'|unicode_list=
Unicode names from Bar (diacritic).
{{Infobox punctuation
| mark = ( )
| name = [[Brackets]]
| other_names = alt names
| unicode = {{unichar|}}
| unicode_list =
* {{Unichar|0335|COMBINING SHORT STROKE OVERLAY|cwith=◌}}
* {{Unichar|0336|COMBINING LONG STROKE OVERLAY|cwith=◌}}
* {{Unichar|0337|COMBINING SHORT SOLIDUS OVERLAY|cwith=◌}}
* {{Unichar|0338|COMBINING LONG SOLIDUS OVERLAY|cwith=◌}}
|variant1 = ( )
|caption1 = Round brackets
|variant2 = { }
|caption2 = Curly brackets
|variant3 = [ ]
|caption3 = Square brackets
|variant4 =
|caption4 =
|see_also = [[Glossary_of_mathematical_symbols#Brackets|mathematical brackets]]
}}
Diacritics
beccè'The Infobox is also fit for diacritics. {{Infobox diacritic}} is a synonym. The generic character to combine with is local p = {}
local Unicode_data = require "Module:Unicode data"
local function errorf(level, ...) if type(level) == "number" then return error(string.format(...), level + 1) else -- level is actually the format string. return error(string.format(level, ...), 2) end end
-- from Template:Unichar
local styles = { smallcaps = 'class="smallcaps" style="font-variant: small-caps; font-size: smaller;"', monospace = 'style="font-family: monospace, monospace;"', -- why repeat it? background_color = 'style="background: lightblue;"', -- for space characters } local function style(text, type) if not styles[type] then errorf("Style %s not recognized", type) end return ('%s'):format(styles[type], text) end
local U = mw.ustring.char local function show(codepoint) -- Format characters that at least are visible to me. -- The parentheses will short-circuit the evaluation of some of the conditions. -- Arabic number sign, Arabic sign sanah, Arabic footnote marker, Arabic sign safha, Arabic sign samvat if 0x600 <= codepoint and (codepoint <= 0x604 -- Arabic end of ayah, Syriac abbreviation mark, Arabic disputed end of ayah or codepoint == 0x6DD or codepoint == 0x70F or codepoint == 0x8E2 -- interlinear annotation anchor, separator, terminator or 0xFFF9 <= codepoint and (codepoint <= 0xFFFB -- shorthand format letter overlap, continuing overlap, downstep or 0x1BCA0 <= codepoint and codepoint <= 0x1BCA3)) or Unicode_data.is_printable(codepoint) then local printed_codepoint = U(codepoint) if mw.ustring.toNFC(printed_codepoint) ~= printed_codepoint then -- Prevent MediaWiki software from normalizing the character. printed_codepoint = ("&#x%X;"):format(codepoint) end if Unicode_data.is_combining(codepoint) then printed_codepoint = "◌" .. printed_codepoint end if Unicode_data.is_whitespace(codepoint) then printed_codepoint = style(printed_codepoint, "background_color") end return printed_codepoint else return "" end end
local function u_plus(codepoint) return ("U+%04X"):format(codepoint) end
local function get_codepoint(args, arg) local val = args[arg] local is_negative = false
if type(val) ~= "string" then errorf("code point in hexadecimal expected, got %s", type(val)) elseif val:find('^%s*%-') then -- Negative number strings yield a bizarre value: -- tonumber("-1", 16) -> 1.844674407371e+19. -- Strip initial minus. val = val:match("%-(.+)") is_negative = true end
local codepoint = tonumber(val, 16) or errorf("code point in hexadecimal expected, got %q", val)
if is_negative then codepoint = -codepoint end
if not (0 <= codepoint and codepoint <= 0x10FFFF) then errorf("code point %d out of range", codepoint) end
return codepoint end
function p.unichar(frame) local args = frame.args[1] and frame.args or frame:getParent().args local codepoint = get_codepoint(args, 1)
local name_or_label = Unicode_data.lookup_name(codepoint) local is_label = name_or_label:sub(1, 1) == "<"
return ("%s %s %s"):format( style(u_plus(codepoint), "monospace"), show(codepoint), is_label and name_or_label or style(name_or_label, "smallcaps")) end
return p ({{Dotted circle}}).
{{Infobox diacritic
|char = ◌̂
|name = Circumflex
|unicode = {{unichar|0302|COMBINING CIRCUMFLEX ACCENT}} (diacritic)
|see_also={unichar|005E|CIRCUMFLEX ACCENT}} (symbol)
}}
Template Data
beccè'TemplateData for Infobox punctuation mark
Template Data
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Adds a visual box showing info about a punctuation mark
|
Tracking category
beccè'See also
beccè'- {{Navbox punctuation}}
- {{Sidebar punctuation marks}}
- {{Navbox diacritical marks}}
- {{Unichar}}, a template that produces a formatted description of a Unicode character, to be used inline or otherwise with regular text.