citation-style-language / locales

Official repository for Citation Style Language (CSL) locale files.
https://citationstyles.org/
138 stars 199 forks source link

Purpose of the comma, semicolon and colon terms? #315

Open Omikhleia opened 1 week ago

Omikhleia commented 1 week ago

Greetings,

Locales files have a provision for localized comma, semicolon and colon, e.g.

    <term name="colon">:</term>
    <term name="comma">,</term>
    <term name="semicolon">;</term>

Working on my own CSL implementation and reading the 1.0.2 specification, it's not clear what the intent was, though.

My initial naive "guess" was that it could be used when delimiters or affixes contain a :, ; or , in order to replace them with the "localized" variant...

I even thought that it was actually pretty clever -- So I could use, say, the fr-FR French locale (which has a non-breaking space as it should, more or less,[^1] before the colon and semicolon terms) with any (unmodified) style and get it typographically right...

But then I dabbled into the chicago-author-date-fr.csl style, and it does have the non-breaking space in all concerned delimiters and affixes... So with my initial "naive" guess was wrong (and I'd get two of these non-breaking spaces). Ok, I can skip doing any replacements on the delimiters and affixes, but:

I think the specification and the expectation needs to be clarified.

[^1]: Well, using a &#160; is not "that" correct typographically speaking... But it's somehow acceptable and I am not going to enter that debate here. (Hint for French readers who know their good typography: it's non-breakable, indeed, but variable? fixed? the same in all cases?)

Jason-Abbott commented 1 week ago

Following along for this. I have a close-to-complete Swift implementation and just did a symbol search and found I never used those punctuation terms. I did use all the others, including the range delimiter term in the way you suggest: replacing other possible range characters (-/–/—) found in sources.

And I have some special logic to handle punctuation defined with (hard/half) spaces that has to omit those spaces in some circumstances to pass tests.

bwiernik commented 1 week ago

That is the intended purpose yes, but that type of replacement is not part of the CSL 1.0.2 spec. It's planned as part of the next major feature release of CSL (either 1.1 or 2.0).

Currently the terms don't have much application in practice.

Omikhleia commented 6 days ago

@bwiernik Thanks for the clarification!

It's planned as part of the next major feature release of CSL (either 1.1 or 2.0)

Is there a dedicated space somewhere (or a in-progress branch of the specifications etc.), that I might have overlooked, where planned features are discussed? So that implementers can take informed design decisions.

Jason-Abbott commented 6 days ago

@Omikhleia partial answer https://github.com/citation-style-language/schema/tree/v1.1