From: Hans Hagen <j.hagen@xs4all.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>,
Sam May <ag.eitilt@gmail.com>
Subject: Re: Quotation dash issues with semantic markup
Date: Mon, 30 Dec 2019 10:19:14 +0100 [thread overview]
Message-ID: <2679f874-a54e-3798-8019-48f42dc59b9a@xs4all.nl> (raw)
In-Reply-To: <20191230040309.GA21481@nzxt-gentoo>
On 12/30/2019 5:03 AM, Sam May wrote:
\setuplanguage[en]
[leftquotation=\quotedash~,
rightquotation=~\quotedash,
leftsentence=\removeunwantedspaces~\endash\space,
midsentence=\removeunwantedspaces~\endash\space,
% leftsentence=\endash~,
% midsentence=~\endash,
rightsentence=~\endash]
\define\quotedash{\emdash\endash}
%\setupbackend[export=yes]
\starttext
\startsection[title=Introduction]
Any of you able to help me get my quotation dashes into line when
automatically
inserted by the semantic commands? I'm sure a number of you look at
this style
and cringe, but \cap{A.} I'm not looking for grammatical input, and
\cap{B.}
I'm intending this for a non-English language where the quotation dash
(though
still not most common) isn't as out of place.
\stopsection
\startsection[title=Desired rendering]
\quotedash~Speech should always have a dash at the start, but none at
the end
of a paragraph.
\quotedash~Dialog asides should not duplicate dashes,~\endash\ he
said.~\quotedash\ Also, this doesn't reflect the spacing mentioned in
section
\in[extra]. \quotedash~nor, as above, add ones at the end of paragraphs.
\endash~he continued.
\stopsection
\startsection[title=Actual output]
\speech{Speech should always have a dash at the start, but none at the
end of a
paragraph.}
\speech{Dialog asides should not duplicate dashes, \aside{he said.}}
Also, note
the spacing isn't removed despite \type{\removeunwantedspaces}, but instead
duplicated. \speech{nor, as above, add ones at the end of paragraphs.
\aside{he continued.}}
\stopsection
\startsection[title=Additional considerations and
observations,reference=extra]
It would also be nice if a quote ending in a period carried the
\quote{broad}
spacing to the other side of the (ending) quote dash |=| the dash before
\quote{Also} above would be packed on the left and broad on the right.
I know
this might be a lot trickier to code, and only consider it a bonus.
The issue with \type{\removeunwantedspaces} only seems to affect the
command
forms. When inserted directly |<| as here |>| the spacing acts as
desired in
the \cap{PDF} (as expected, the \cap{XML} doesn't understand the order).
Also,
the right \type{|>|} doesn't require either of the explicit spacing
instructions (beyond being non-breaking) while the others do; try
switching the
commented lines and re-rendering.
The quotation dash itself only \emph{looks} as I want it; when I
highlight and
copy the text or export it to the \cap{XML} backend, it's still two
dashes next
to each other. Instead, I'd like it to be the Unicode bar U+2015. I'm not
sure if \TEX/\LUATEX\ allows that difference between appearance and
interaction
(I do know \cap{PDF} does), so if there's some way of adding a new glyph
to the
font |<| one that mimics the other dashes even if the font changes |>|
I'd love
to actually use the proper codepoint. As is, that doesn't work in the
standard
font(s): [\char"2015].
\stopsection
\stoptext
I bet that Wolfgang has the answers to the speech setup so I'll do the
font part. Assuming that you use context lmtx (the luametatex branch),
you can use some of the new metafun magic.
\startMPcalculation{simplefun}
vardef QuotationDash =
draw image (
interim linecap := squared ;
save l ; l := 0.2 ;
draw (l/2,2) -- (15-l/2,2) withpen pencircle scaled l ;
)
enddef ;
lmt_registerglyphs [
name = "symbols",
units = 10,
usecolor = true,
width = 15,
height = 2.1,
depth = 0,
] ;
lmt_registerglyph [ category = "symbols", unicode = "0x2015", code
= "QuotationDash ;" ] ;
\stopMPcalculation
\definefontfeature[default][default][metapost=symbols]
% \showglyphs
\starttext
\startlines
xx\endash xx
xx\emdash xx
xx\endash\emdash xx
xx\char"2015 xx
\stoplines
\stoptext
Keep in mind that when you use for instance pagella, that there already
that glyph.
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2019-12-30 9:19 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-30 4:03 Sam May
2019-12-30 9:19 ` Hans Hagen [this message]
2020-01-17 19:11 ` Wolfgang Schuster
2020-01-18 9:30 ` Hans Hagen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2679f874-a54e-3798-8019-48f42dc59b9a@xs4all.nl \
--to=j.hagen@xs4all.nl \
--cc=ag.eitilt@gmail.com \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).