Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add and document \BCPdata to kernel #1035

Closed
josephwright opened this issue Apr 9, 2023 · 9 comments
Closed

Add and document \BCPdata to kernel #1035

josephwright opened this issue Apr 9, 2023 · 9 comments
Assignees

Comments

@josephwright
Copy link
Member

Brief outline of the enhancement

As discussed in reutenauer/polyglossia#581 and elsewhere, a common data format for BCP-47 data is needed. This really needs to be initiated and documented at the kernel level, with packages such as polyglossia and babel then re-defining to provide the actual data.

This issue is to allow us to track the design of the interface: currently \BCPdata{...} where ... needs to be refined.

@jspitz
Copy link

jspitz commented Apr 10, 2023

Just to summarize the proposal so far. The arguments that should be supported are:

  1. language (e.g., de)
  2. region (e.g., AT)
  3. script (e.g., Latn)
  4. variant (e.g., 1901)
  5. extension.t (transformation, e.g., en-t-ja)
  6. extension.u (additional locale information, e.g., ar-u-nu-latn)
  7. extension.x (private use area, e.g., la-x-classic)

and possibly

  • tag (for the "full" BCP-47 tag as set by babel/polyglossia which however might omit presupposed values)

To access the main language, it was proposed to have a main.* argument as a prefix to the above tags.

@u-fischer furthermore proposed some semantic links such as casing which returns the appropriate tag/subtag for the casing commands.

@josephwright
Copy link
Member Author

@jbezos I assume you are also happy with that list? If so, I'll add to ltfinal and document there and in ltnews for the June release, and adjust the case code so it picks up \BCPdata and thus solves the polyglossia aspect.

(Thanks all for the contributions here: I think we are getting to a very good situation for locale data.)

@u-fischer
Copy link
Member

@josephwright will you use a semantic wrapper like casing for \MakeUppercase? Imho it would be sensible as the discussion showed that none of the "primitive" values is the correct one in all cases. I will then adapt hyperref in a similar way.

@josephwright
Copy link
Member Author

@josephwright will you use a semantic wrapper like casing for \MakeUppercase? Imho it would be sensible as the discussion showed that none of the "primitive" values is the correct one in all cases. I will then adapt hyperref in a similar way.

Yes that is the plan I think: makes a lot of sense

@jbezos
Copy link
Contributor

jbezos commented Apr 10, 2023

👍

@josephwright
Copy link
Member Author

OK, I will go with \BCPdata{casing}: that I hope should be 'available' from both babel and polyglossia by the time we do the kernel release.

@jbezos
Copy link
Contributor

jbezos commented Apr 14, 2023

I’ve just added \BCPdata{casing}. I’ll release it in a few days (probably next Tuesday).

@jspitz
Copy link

jspitz commented Apr 14, 2023

I’ve just added \BCPdata{casing}. I’ll release it in a few days (probably next Tuesday).

Same here for polyglossia.

@jbezos
Copy link
Contributor

jbezos commented Apr 14, 2023

As to main, sorry, I have no time. We have to wait for the next release (in mid May, I think).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants