14:54:54 RRSAgent has joined #i18n 14:54:54 logging to https://www.w3.org/2022/09/12-i18n-irc 14:54:59 Zakim has joined #i18n 14:55:18 Meeting: TPAC 2022: Internationalization Working Group 14:55:24 Chair: Addison Phillips 14:55:29 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 14:56:34 Agenda: https://www.w3.org/events/meetings/121afb09-553e-4b68-854d-2ba64111c34b 14:56:34 addison, sorry, I did not recognize any agenda in https://www.w3.org/events/meetings/121afb09-553e-4b68-854d-2ba64111c34b 14:56:59 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 14:57:04 present+ Addison 15:01:46 scribe+ addison 15:02:28 Meeting Info: https://www.w3.org/events/meetings/121afb09-553e-4b68-854d-2ba64111c34b#agenda 15:03:07 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 15:04:40 FIND US IN 'FINBACK', 3rd Floor (same as registration but in the far corner) 15:04:47 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 15:11:40 I have not started the meeting, but I am in the room and doing setup stuff 15:50:56 Use this link: https://us02web.zoom.us/j/85856632124?pwd=TzdnYzZTbUZNTkNGLzBkMG1rbDdEdz09 15:51:56 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 15:54:02 xfq has joined #i18n 15:58:51 present+ Atsushi (virtual), Richard (virtual), Florian (guest) 15:59:20 present+ Greg (guest), Francois (guest) 15:59:27 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 16:00:13 present+ Fuqiao (virtual) 16:05:55 present+ 16:05:57 scribe+ 16:06:36 present+ Paul (guest, mathml) 16:06:43 present- 16:09:23 agenda+ Ruby progress 16:09:41 agenda+ CSS backlog 16:11:51 agenda+ MathML progress review 16:12:59 present+ Bert 16:15:36 agenda? 16:15:43 Topic: Introductions 16:15:52 polx has joined #i18n 16:16:55 fremy has joined #i18n 16:17:25 atsushi: JL-TF is preparing two documents, one is simple ruby, one is ruby-t2s-req 16:17:31 r12a: Richard Ishida 16:18:05 xfq: Fuqiao Xue 16:18:09 Bert: Bert Bos 16:18:26 florian: Florian Rivoal 16:18:31 François Remy, Invited Expert in the CSS WG 16:18:53 Paul: @@ 16:19:07 Paul Librecht 16:19:25 Florian Rivoal, Invited Expert, CSS WG, i18n WG, Advisory Board 16:19:36 Greg Whitworth 16:19:55 atsushi: team contact for i18n, timed text, immersive web 16:19:57 s/Paul Librecht/Paul Librecht, MathML WG/ 16:20:19 s/Paul: @@// 16:20:35 s/Librecht/Libbrecht/ 16:21:56 Elika Etemad, CSS, AB 16:22:12 present+ fantasai 16:22:18 s/CSS, AB/CSS, i18n, ex-AB/ 16:22:18 zakim, take up item 2 16:22:18 agendum 2 -- CSS backlog -- taken up [from addison] 16:22:32 https://github.com/w3c/csswg-drafts/issues/5421 16:23:20 florian: we need someone from Apple to discuss this effectively 16:23:43 r12a: maybe there's one or even two other issues that need to be read in conjunction with this one 16:24:06 see also https://github.com/w3c/csswg-drafts/issues/4497#issuecomment-763459971 16:24:47 https://github.com/w3c/csswg-drafts/issues?q=is%3Aissue+is%3Aopen+label%3A%22Agenda%2B+TPAC%22+label%3Ai18n-tracker 16:25:28 https://github.com/w3c/csswg-drafts/issues/6848 16:25:41 addison: Backslash & Yen sign behavior 16:26:24 fantasai: last time I looked at the issue there's no good solution for it 16:26:42 addison: this is the famous issue that existed forever 16:27:44 ... probably we need to have someone from WebKit to discuss it 16:27:53 https://github.com/w3c/csswg-drafts/issues/4606 16:28:21 addison: Kaiti & cursive 16:28:41 florian: it's probably good to discuss this in the joint session 16:28:58 ... we have some CSS people here, but we're missing some 16:29:20 https://github.com/w3c/csswg-drafts/issues/6730 16:29:55 florian: we have specified in css text L4 16:30:07 ... a pair of properties 16:30:35 ... if you have wbr in the markup 16:30:57 ... @@ which is typically used in titles 16:31:18 ... this is also useful because allowing line breaks 16:31:33 ... especially in children's books or for people with dyslexia 16:31:39 ... for line breaking you can use the usual 16:31:54 ... here it's trying to tackle the same problem differently 16:32:26 ... whether we reuse the existing machinery for line breaking or whether we make a new one 16:32:49 ... do we just have a giant pile of AI and it figures out where to put the breaks on its own 16:33:08 ... or do we need to be more strict on this and say it's Chinese 16:33:20 ... from an author's point of view 16:33:35 ... it's going to be important to know what it's going to do 16:34:00 ... you need to be able to ask not just line breaking, but line breaking in Japanese 16:34:34 ... the property we have in CSS, specify which language you want to line break 16:34:39 ... let the browser figure it out 16:34:59 ... that's the general two different approaches to try and tackle the same problem 16:35:31 ... CSS line breaking properties is already extraordinary complicated with so many properties interact with each other 16:36:04 ... I'm not excited about adding one magic switch that says ignore everything and do new line breaking 16:36:05 s/ask not just line breaking/ask not just about line breaking (with @supports)/ 16:36:31 addison: I hear a lot from Japanese designers 16:36:38 ... a lot of unfortunate line breaks 16:36:59 ... do you think it's related to that? 16:37:44 addison: I'm trying to understand what people think the problem is 16:38:02 florian: I made a talk about many line breaking things, including this one 16:38:40 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 16:38:56 https://florian.rivoal.net/talks/line-breaking/#ja-titles 16:39:14 florian: I don't think I can take over and project, but I just dropped a link on IRC ^ 16:39:39 ... if you press space and shift+space repeatedly to move forward 16:40:10 [florian shows the slides] 16:41:06 florian: we have existing properties that lets you switch two different modes 16:41:27 addison: you can mark all the boundaries 16:41:40 florian: if you mark all the boundaries, it's just like English 16:41:54 ... as Richard mentions, there is more than one way to do this 16:42:02 ... there's varying opinions 16:42:31 ... the new approach is don't add wbr, ignore the line break properties in CSS 16:43:10 ... I'm concerned about the inability to specify which language it is 16:43:34 @@: why not 'word-break: aviod'? 16:43:45 s/aviod/avoid 16:43:48 s/@@/Francois/ 16:45:17 fremy: @@ 16:45:56 ... if you can, fallback to 'word-break: normal' 16:46:07 ... if it doesn't work, it's the normal behaviour 16:47:17 florian: there's word-boundary-detection and word-boundary-expansion 16:47:40 ... word-spacing is for where there is already a space and makes it bigger 16:47:47 ... this is for inserting a space 16:48:05 florian: we could add a second keyword 16:48:30 myles has joined #i18n 16:48:50 hello 16:49:47 florian: for languages like Thai, word-boundary-detection has three values 16:50:27 fremy: interesting to see if anybody cares about this 16:50:30 r12a: they do 16:50:39 ... we're talking about the language Thai 16:50:50 ... there are many languages using the Thai script 16:51:09 ... like Northern Thai 16:51:37 florian: you could switch out auto 16:52:21 addison: if you don't know Northern Thai, don't use Thai 16:52:38 ... with proper language tagging 16:52:58 florian: not language for the context, but language for the algorithm 16:53:52 ... maybe browsers don't know how to do line breaking for Cantonese, but they know how to do line breaking for Chinese 16:54:35 (languages using the Thai scipt: http://r12a.github.io/scripts/thai/index.html#languages) 16:54:50 florian: there's something dealing with the normalization of languages 16:55:00 r12a: we have another issue about that topic as well 16:55:04 (Example of an unfortunate line break in English: ‘Hi, My daughter had an accident and now we need body parts to fix her / car’, from https://freediculous.blogspot.com/2006/02/unfortunate-line-break.html ) 16:56:04 r12a: it is a little difficult to hear you with your masks on 16:56:35 florian: combination of word-boundary-detection and word-break: keep-all 16:56:54 ... go to look at the content 16:57:55 ... when you language tag things, if you language tag your content properly, the browser has exact algorithm for this, it will do the right thing, otherwise it will fallbak to normal 16:58:23 fantasai: I would not classify that as normal vs strict 16:58:35 ... kinsoku rules are independent 16:59:00 florian: at some point, if you're extremely picky about how to line break, you can go and add wbr 16:59:53 fantasai: if you do word-based breaking and suddenly switch to phrase-based line breaking 17:00:36 Bert: there's other thing you want, like length of a line 17:00:40 fantasai has joined #i18n 17:01:00 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 17:01:22 florian: I don't want a complete new thing, a new magic mode that completely ignores the line breaking properties 17:01:40 ... I think I got useful ideas 17:01:46 [current discussion is adding 'words' and 'phrases' keywords or something to 'word-break' property] 17:02:53 https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+is%3Aissue+label%3A%22Agenda%2B+TPAC%22+label%3Ai18n-tracker 17:03:17 https://github.com/w3c/csswg-drafts/issues/5995 17:03:45 r12a: you started by saying you wanted to talk about the needs-resolution issues 17:03:54 ... but these are tracker issues, addison 17:04:13 https://w3c.github.io/i18n-activity/reviews/# 17:04:18 r12a: we don't have a single CSS label 17:04:25 filter on needs-resolution 17:04:29 David-Clarke has joined #I18n 17:04:35 ... if you go here ^ and filter on needs-resolution 17:04:58 https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+is%3Aissue+label%3Ai18n-needs-resolution+ 17:05:05 https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+is%3Aissue++label%3Ai18n-needs-resolution 17:05:31 https://github.com/w3c/csswg-drafts/issues/771#issuecomment-1182339573 17:05:57 fantasai: proposal is to get the WG to resolve it 17:06:10 if i18n agrees with the proposal, I'll get CSSWG to resolve on it 17:06:47 addison: atsushi and r12a seem to agree with fantasai's comment 17:07:17 fantasai: should we do this to handle justification for ruby annotations? 17:08:01 r12a: what we discovered it's more likely the Latin text is centered 17:08:13 https://github.com/w3c/csswg-drafts/issues/5995 17:08:14 addison: doesn't sound controversial 17:08:45 fantasai: Should auto-hide match use NFKC or other normalization? 17:09:08 addison: NFKC is usually not a good idea 17:09:48 ... there's a lot of things, it's kind of an uncontrolled @@ 17:10:25 r12a: I think it's NFK mapping 17:10:39 addison: I suppose we need to make some research 17:10:58 fantasai: if it's too aggressive we can do some custom. normalization 17:11:06 s/custom./custom 17:11:39 fantasai: I think it's legitimate using different representations 17:12:15 r12a: would not be good idea to normalize stuff that people have typed 17:12:37 ... automatically annotate your Japanese or Chinese 17:13:10 ... e.g., you could have katanaka, and the @@ marks decomposed 17:13:32 ... if it's a different kanji character, you probably don't want to unify them in any way 17:13:38 s/@@ marks/kuten marks/ 17:13:55 ... if it's real normalization, maybe it's useful 17:14:06 fantasai: we should probably do NFC for auto-hiding 17:14:35 https://www.w3.org/TR/css-ruby-1/#hiding 17:14:37 r12a: if it matches, it removes the annotation 17:15:01 addison: the comments are all pointing to things like whitespace normalization 17:15:25 ... possibly normalize inernal whitespace 17:15:32 ... two space become one 17:15:55 r12a: if you inline, you're not removing anything from view 17:16:21 ... we're talking about real edge cases here 17:16:32 florian: Xian and Xi'an example in Chinese 17:16:42 Should half-width kana match full-width in this case? 17:16:48 fantasai: I feel that is a different issue 17:17:04 * whitespace normalization 17:17:09 * NFC normalization 17:17:16 * East Asian Width folding 17:18:17 florian: you're using half-width katakana because it's tiny 17:19:11 ... [explains the half-width katakana example] 17:19:36 fantasai: whitespacing is sometimes accidentally introduced 17:19:47 ... you have trailing/leading whitespace 17:20:21 ... I think what we should do is whitespace and NFC normalization for auto-hiding 17:20:33 addison: sounds like a reasonable starting point 17:20:43 ... need to think about the edge cases 17:21:02 florian: I suspect if we start with NFC, it's safe 17:21:37 ... if it's rare enough edge case, we probably shouldn't do anything by default 17:22:01 addison: choose your code point carefully 17:22:22 Proposal for normalization of base and annotation text before auto-hiding: 17:22:22 - Use NFC normalization (not NFKC) 17:22:22 - Trim white space 17:22:23 Anything else, authors should adjust manually using `visibility: collapse`. 17:23:22 addison: it's not asking people to store or something like that 17:23:58 fantasai: my suggestion going forward is to ask the WG to see how they feel with NFC matching 17:24:51 r12a: you're not actually displaying diffreent things, you're just matching 17:25:09 ... if you got 2 or 3 spaces in between two words 17:25:17 ...it's not really relevant here 17:25:43 addison: we've just done discussing wbr 17:27:58 agenda? 17:28:00 Topic: Ruby markup status 17:28:30 florian: extremely long discussion to try and make it possible to write the ruby markup 17:28:59 i/Topic: /Commentary on why we have the current spec text https://github.com/w3c/csswg-drafts/commit/0c972dc6d3a3bd34ee9ce63bfd5babc55f0afb14 17:29:13 ... a pull request against the HTML spec 17:29:36 ... as soon as we find time to actually do it we should be very quick to make a FPWD 17:29:45 ... we actually have two impls 17:29:51 ... firefox and amazon kindle 17:35:00 RRSAgent, make minutes 17:35:00 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 17:35:09 Topic: ~* Break *~ 17:58:06 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 17:58:48 s/I have not started the meeting, but I am in the room and doing setup stuff// 17:58:53 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 18:05:42 polx has joined #i18n 18:05:57 Topic: MathML 18:05:57 fremy has joined #i18n 18:06:00 scribenick: fantasai 18:06:27 polx: MathWG is working on v4 of MathML 18:06:36 ... MathML is XML format for writing math notations 18:06:47 ... v4 the biggest novelty is trying to get speakout to work 18:06:53 ... so that a11y tools can read math out loud 18:07:05 ... MathML is known to sort-of work on that, but we want this to become proper 18:07:21 ... current development means adding an attr, intent, that describes how parts of tree will be spoken out 18:07:34 ... should be combined with default knowledge of how to speak things, which is currently the fuzzy part of the spec 18:07:39 addison: intent is structured data? 18:07:50 fremy: is it fixed options or freetext? 18:08:02 polx: freetext, but has some placeholder that allow you to delegate the rest of the speaking to inside 18:08:06 fremy: so templates? 18:08:14 polx: template language being developed, part of more unclear part 18:08:27 florian: It's freetext in a human language? 18:08:36 polx: Yes, that's why i18n aspect is interesting 18:08:44 ... I believe MathML lives in lang-tagged trees 18:08:54 ... and I think the voice that is used to speak this, depends on user 18:09:03 ... not sure if i18n has special concerns? 18:09:07 addison: You're touching on some hot buttons 18:09:20 ... one is that putting natural language text into an attribute makes it hard to localize / translate 18:09:24 ... can't be lang-tagged 18:09:33 polx: it's modal language, so whole subtree of language 18:09:37 ... there are alternative representations but 18:09:49 q+ 18:09:55 s/modal language/mono-language/ 18:09:56 addison: common thing to want to do, if you want to localize something you have the intent ... can have multiple ones with different lang tags 18:10:01 ... can localize sub-parts 18:10:07 polx: would translate the whole subtree 18:10:22 addison: also case that there are things like structure of natural language is not, you can just add words together to make senstence 18:10:34 ... so if you structure things that way, then wehn you put into another language, then you don't have attributes in correct order 18:10:38 ... need to rearrange to make it sensible 18:10:44 polx: There is a dynamic to how intents are combined 18:10:52 ... pull things out and make one single sentence 18:11:04 ... makes it non-navigatable, a11y tools like to navigate sub-elements 18:11:06 ... but [missed] 18:11:17 addison: I'm not an a11y expert, but usally what you want is you want a stream of words 18:11:32 ... that you're feeding to the TTS engine 18:11:41 ... might feed language tags to get it to pronounce correctly 18:11:52 polx: The whole world around it would be Russian, expectedly 18:12:03 addison: what I'm saying is, there's a stream of text that would go to processor that will read it out 18:12:11 ... your problem is that to generate the stream of text 18:12:24 ... you're providing a way for ppl to mark up their math with the content such that it generates that string of text 18:12:30 q+ 18:12:34 ... and if you only ever had a document in one language at a time, that would be maybe possible to do 18:12:43 ... but different languages have different requirements 18:12:51 ... you'd have to reformulate your content to be in a different language 18:12:57 ... e.g. Japanese has very different word order than English 18:13:07 ... so you would need to set it up so that stream of text would be in the taret language 18:13:20 florian: If I've understood correct, idea is not that each subtree has a piece of text that gets added together 18:13:25 ... but idea of having a language tmeplate thing 18:13:31 ... can have subtrees invoke the grammar in the right way 18:13:37 ... so concatenation order wouldn't be a problem 18:13:49 polx: Sometimes can't, so in "...", you'd have different needs to put things on the parent alone 18:14:00 ... because you cannot use the templates in a reasonable manner 18:14:18 addison: Harder than it loos, bcause you have agreement issues, e.g. don't have just zero/one/plural 18:14:24 ... and math of course has lots of numbers 18:14:26 it would be very useful to see an example ! 18:14:39 addison: interesting project at Unicode, next generation XXX format, to describe localizable structures 18:14:46 ... for inserting runtime formatted strings 18:14:52 ... called the Message Format WG of CLDR 18:15:09 fantasai: have you heard of l20n project at Mozilla? 18:15:33 fantasai: it was a templating system that Mozilla was working on maybe a decade ago 18:16:03 fantasai: that was to deal with agreement or inflexions and other grammatical things, in order to deal with these in the Mozilla UI 18:16:12 addison: I think that evolved into Fluent, which is a format that does that 18:16:16 ... other groups doing similar things 18:16:22 ... and all those groups working on this message formatl also 18:16:25 ... to build a system 18:16:37 polx: Problem with math is that there's extremely big variation on abstraction 18:16:50 ... predicting contents, can depend on resolution you might not come t 18:16:55 ... speaking in an abstract way 18:17:12 addison: I have illustrations of why doesn't work but 18:17:17 polx: Send it around, it would be useful 18:17:44 addison: My first reaction is, I think I understand what you want to do, super common to want to build a templating language 18:18:01 ... trick is it's hard to do well from i18n pov, build it for one language, and have to rewrite for other languages 18:18:07 ... there are better mechanisms to support doing these things 18:18:27 ... I think it would be a good idea for us to look at your proposals and help make connections early on 18:18:28 -> https://w3c.github.io/mathml/spec.html#mixing_intent Example of ‘intent’ in MathML4 18:18:37 ... from a very high level your description sounds like it would be problematic 18:18:55 florian: another thing to mention, since you put text in attributes, is limiting because you can't have markup 18:19:05 ... since trying to display text, often need some extra markup 18:19:14 ... if speaking rather than displaying, could be different 18:19:26 ... but also have other things in CSS, that supposed to let you style how things are spoken 18:19:33 fremy: feedback I got is ppl don't want that 18:19:42 florian: if you stick things into an attr, you can't extend it 18:19:51 ... if you can use regular elements, that opens up more possibilities 18:20:01 ... maybe more than you want, but won't run into problem of less than you need 18:20:17 polx: There's an element in MathML called for alternate representations, e.g. LaTeX representation alongside MathML 18:20:18 ack florian 18:20:24 ... these things are all there, but known to be too complex to be of use 18:20:29 ... hard to make it simpler, honestly 18:20:34 ... because i nthe end what you want is parallel trees 18:20:44 ... and need to hook them up with IDs, and it works, but it's art 18:20:59 fremy: I think what you're trying to do, it seems you're trying to create a text representation for elements in the a11y tree 18:21:05 ... very close to concept of aria-label and aria-description 18:21:07 polx: it is 18:21:14 fremy: why not use the existing system that they use? 18:21:17 ... they already have this concept 18:21:26 ... if you use aria-labeled-by, can have a list of things 18:21:30 q? 18:21:45 polx: There are guys who are in the aria groups, and aria-label is considered part of this scenario, but different impl possibilities 18:21:49 ... offer in ways that are independent 18:21:54 ... not sufficient for our formatting 18:22:10 ack r12a 18:22:14 fremy: I would like to understand why it's insufficient, because it would help us understand what needs to be worked on 18:22:31 r12a: This discussion would be a lot easier if we had an example 18:23:22 r12a: The other possibility occures to me, you have a templating language which creates something in English and you translate it to other languages 18:23:32 ... rather than trying to have a templating language that serves every language 18:23:42 polx: What do you mean my translating? 18:23:58 r12a: As I understand it, you're coming out with a sentence that sayse "The third root of 64" 18:24:06 ... and that represents the formula that will appear on the screen 18:24:12 polx: right 18:24:33 r12a: you've got all those bits in that formula which you can assign words to, and then you have to understand relationships among them and how to create syntax for that 18:24:42 ... then need to figure out agremeents e.g. pluralization 18:24:46 ... and do that for every language 18:24:54 ... but another possibility is that you generate a string in English 18:25:06 ... then only have to build all that complex stuff in English, and then you use translation mechanisms 18:25:19 polx: This is a support aspect. You could do that, and you could do that at the authoring level or in the browsers 18:25:28 ... but at some point you want control over that, and this is the space we're creating with the intent 18:25:34 ... we want author to control how is spoken 18:25:37 fremy: also translation isn't cheap 18:25:46 ... can't run it on client side every time you have a math equation, it doesn't scale 18:26:05 addison: if you have a true machine-translation engine, then it's not cheap to create but maybe can do that 18:26:18 fremy: I work in machine learning, and machine translation is multiple gigabytes in memory 18:26:26 ... very few programs translate things correctly on a computer 18:26:32 ... that's why they use servers 18:26:45 ... small machine translation is very low quality, help if you are stuck without internet 18:26:50 ... but not something that can be relied on 18:27:01 polx: Sometimes can do wonders with automatic translation, and can help author 18:27:22 .. but whether author wants to render everything into a string, and then get that translated, and then get it checked by a math expert is one thing 18:27:26 ... [missed] 18:27:37 ... as soon as formula becomes really big, becomes essential 18:27:40 s/.. but/... but/ 18:27:51 ack fantasai 18:28:09 fantasai: I have concerns about having natural language in attributes 18:28:12 fantasai: some concern about natural language in an attribute, because we often markup 18:28:21 fantasai: not all accessibility engines use a speech engine 18:28:28 fantasai: sometimes braille output for example 18:28:41 polx: Braille has a special math pattern 18:28:49 ... One Hungarian guy I forget has a system for this 18:28:53 ... I don't remember 18:29:06 .. but I know that many ppl are feeling that this standard for Braille math is limited, but it is what everyone uses 18:29:17 q+ 18:29:20 addison: Also don't get wrapped up in saying it's just a11y, lots of documents are read alound these days 18:29:30 ... so general purpose TTS is more prevalent than it has been 18:29:36 Math in Braille often uses Nemethe Braille. 18:29:45 ... so is it good enough to serve a11y audiences? Maybe, and that's where tech has been driven from historically 18:29:49 ... but it is expanding quite a bit 18:29:49 s/Nemethe/Nemeth/ 18:29:58 polx: Yes, all wondering about listening to math in the car while driving 18:30:02 addison: "Alexa, read this paper" 18:30:15 ... that's when you have some piece of MathML embedded, and needs to become... 18:30:33 fremy: aspect to keep in mind, MathML has 2 standards, and the one that is used is a presentational format 18:30:42 ... it says how it looks on the screen, but same notation can be used for multiple things 18:30:45 ... that's why you need intent 18:30:55 ... need this on a letter can mean multiple things, that's part of the intent aspect right? 18:31:07 polx: you can use MathML Content to do better, but it's too expensive 18:31:18 ... math professionals are more comfortable thinking about how to write things rather than how you mean them 18:31:30 fremy: Content is intended to be a middle ground, still describing presentation but with more info 18:31:38 ... I think it does make sense to me, looking at the example 18:31:52 ... one thing that maybe I am wondering is removing the idea of the string representation 18:32:00 ... I would argue that this is not a good idea to put in intent 18:32:09 ... I would limit it to things that can be understood 18:32:19 ... If you want to express something outside of intent, should use aria-label 18:32:27 ... for example in the spec you have x power to the ? 18:32:31 ... suppose you want to read as position 18:32:37 ... then this should be done at the aria-label level 18:32:46 ... so you have the x arg, you have x aria-label = positoin 18:32:50 ... and then you can compose the stentence 18:33:01 ... but I would refrain from using intent to scope things outside the scope of intent 18:33:04 ... I think it misses the bar 18:33:11 ... because it becomes very confusing if you can rename things 18:33:20 ... if you go depeer in the hierarchy, these renames won't be consistent 18:33:27 ... So want to see if can remove the freetext option from itnent 18:33:36 ... and if you need freetext, use aria-label on the functions to give the freetext you need 18:33:42 ... and that is a tech that already exits 18:33:46 ... and get those translated 18:33:52 ... it flows into natural localization pipeline for HTML 18:34:03 ... and enforces the idea that 'intent' is something the computer can understand 18:34:11 ... freetext is something the computer cannot understand 18:34:16 polx: What do you mean computer can understand 18:34:24 ... being able to understnad more of the intent of the expression 18:34:34 ... my experience is this an extremely American point of view 18:34:37 ... as soon as you go farther 18:34:48 ... the bigger problem when you do this understanding, you want to understand in a semantic world that is well-defined 18:35:01 ... and mathematicians have been creating math or centuries, and many things are not encoded 18:35:10 fremy: Not saying computer understands the equiation, but understand each piece 18:35:21 ... intent should be structured, but if you need a name, should use a name from the markup 18:35:32 ... stilll rely on existing tech, but compose [missed] 18:35:36 ... this seems more reasonable I think 18:35:43 polx: This is interesting, we'll be meeting on Wednesday 18:35:46 ... is interesting thoughts 18:35:51 +1 18:35:56 s/equiation/equation 18:36:08 polx: Wondering if we should consider, if single-language is safe enough 18:36:11 ... or should be safe enough 18:36:22 florian: One of the beauties of math notation is that it is not natural language 18:36:35 ... in translation description can be different, but the equation will be the same 18:36:41 ... to a large extent 18:36:47 florian: It's shared 18:37:04 ... and if we could enable those formulas that are not strongly tied to a natural language to be re-used as-is in a bunch of different language documents as-is 18:37:10 ... would be nice, but certainly more complicated 18:37:25 polx: There's a will in the intent definition that trying to make it as simple as possible is a most important quality 18:37:32 ... and might be reason why all these templating languages feel inappropriate 18:37:41 addison: integrates well with other tech stack pieces then make ssense 18:37:56 ... the more different special thngs ppl invent, there's less likely to have widespread support 18:38:05 ... e.g. re-using aria-label insofar as possible, already widespread 18:38:12 polx: One thing unsure about is how to encode defaults 18:38:19 ... so that a11y tools don't need intent as much as possible 18:38:27 ... probably this is doable for basic math, for English language 18:38:37 ... if you go to any European language, there is no complete tool with these defaults 18:38:44 ... if you go further away, then this will be almost impossible 18:39:02 ... to use, for every different language, can stick the ENglish name and translate, seems doable but not sure 18:39:15 ... and then things like i is used as root of -1 , but understood to be something else in different fields 18:39:26 ... e.g. H2 is hydrogen or 2nd homology group 18:39:38 ... currently we seem to avoid being able to speak a proper domain name 18:39:47 ... this is crystallograph or organic chemistry 18:39:54 ... we don't know whether there's a way to model this kind of subdomain things 18:39:59 ... because at the end you end up very scattered 18:40:07 addison: I understand what you're saying 18:40:20 q? 18:40:23 ack r12a 18:40:32 r12a: We 18:40:49 r12a: We're talking about describing an expression, why don't we have something like alt attr 18:40:53 polx: 2 reasons 18:41:05 polx: This is one string for whole subtree, which is what aria-label/descri can do 18:41:11 ... but this is not enough for navigating through the subtree 18:41:16 ... as you move in the subtree 18:41:22 ... take out some parts and re-use other things 18:41:23 r12a: Thanks 18:41:41 ... point I wanted to make, before I joined W3C I worked at Xerox as design consultant and worked as engineering 18:41:54 ... if you're developing a product, principle of develop it in at least 2 languages 18:42:15 ... My recommendation to you, because sounds extremely complicated, is that you develop it in English and another language e.g. Arabic or Japanese ,which are substantially different in syntax 18:42:26 ... and try to concucrrently develop the tech in all those languages at the same time 18:42:31 ... you'll have a better idea of how to develop 18:42:57 addison: Danger is that WEstern-european types can assemble something that works, but breaks down as you move to other language sets 18:43:06 polx: Exactly the problem we have right now in non-standardized software 18:43:29 addison: Get proof of existeance, and then encounater problem of like Japanese having very different word order 18:43:35 ... or different agreements with numbered 18:43:42 ... and that's where you discovered have features, but can't go there 18:43:56 ... if you can make it work for an array of languages then you can sneak up on some aspects of the problems 18:44:06 ... as you see from earlier discussion in CSS, still corner cases that are hard 18:44:15 ... don't have "well it worked in English" and then get stuck 18:44:21 r12a: I chose Arabic and Japanese on purpose 18:44:29 ... Japanese has a SOV word order 18:44:36 ... but also has very little agreement and very vague language 18:44:45 ... Arabic on the other has lots of agreement, and VSO order 18:44:56 ... and also has single tense, dual tense, and multiple tense in terms of plurality 18:45:00 q+ 18:45:09 ... so those two languages cover a lot of range in the problems you're likely to run into 18:45:24 polx: Unfortunately both those languages are colonized in terms of math notation. They write in French notation 18:45:40 ... and I believe that the Japanese have been taking math notation since 1920s from Americans with almost no difference 18:45:48 florian: From notation, yes, but from the way they speak it 18:45:51 polx: you're right 18:45:57 r12a: You know about our note about MathML? 18:46:09 polx: ?? is the author, but is unfortunately not involved anymore 18:46:33 ... we had one guy which has just left recently, might come back, is BUlgarian and have a bit more exotic math formulae formatting 18:46:39 ... so we have French, German, and English in the group 18:46:43 ... and Dutch with Bert :) 18:46:57 addison: Point though is not the math notation that's different, it's the natural language aspect 18:47:15 polx: You're right that Bulgarian might not differ as much from grammar 18:47:26 q? 18:47:30 ack fremy 18:47:35 fremy: Right now the spec doesn't include list of templates 18:47:42 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 18:47:42 polx: working in Google sheets 18:48:02 fremy: Exercise that seems worthwhile is to sample 100 equations from Wikipedia, and ask people to write how they would read these formulas in their own language 18:48:03 -> https://www.w3.org/TR/2006/NOTE-arabic-math-20060131/ https://www.w3.org/TR/2006/NOTE-arabic-math-20060131/ 18:48:12 ... it's difficult to imagine without this sampling 18:48:24 ... it will tell you which patterns are most often recurring, which will tell you the focus of intents 18:48:37 ... and will also tell you the different ways these are descried in different language, 18:48:42 ... will show whether your strategy will work 18:48:54 s/Xerox as design consultant and worked as engineering/Xerox as global design consultant and helped develop the i18n aspects of the corporate engineering process/ 18:49:02 ... and if so do you need more, e.g. you realize you need singular/plural. or male/female 18:49:05 ... for some of the letters 18:49:17 ... maybe then you need to say this is an attribute we may want to consider 18:49:25 ... you will not be able to solve all the challenges in the first version 18:49:26 q? 18:49:30 ... but it would get you idea of what are the major issues 18:49:44 ... Consider how can you cover with simplest possible approach these cases 18:49:54 ... It's a survey also that's not too hard to run 18:50:03 ... this will help a lot in shapin gyour desing 18:50:11 polx: Also within a language, ppl will speak things differently 18:50:32 fantasai: I think we could probably run the survey at a Math conference 18:50:42 fantasai: and some would think of this exercice as "fun" 18:50:54 fantasai: compare how they would voice a formula vs friends 18:51:08 fantasai: and there would be people from all over the world in these conferences 18:51:48 florian: When I was in engineering school, Vietnamese students and us understood each other better in math than anything else 18:51:58 ... they had learned to speak the notation in Vietnamese, and also learned in French 18:52:18 r12a: You also have to be careful, I spent 6-7 years teaching globalization 18:52:29 ... and I would be teaching developers who spoke those languages how to develop i18n 18:52:39 ... and they'd never apply the idea of "oh, we do this differently to how it's being implemented here" 18:52:51 ... so you can ask them, but they might not have ever thought about it 18:53:34 fantasai: The advantage of fremy's question is it's very simple, don't have to think deeply about it just write down how you would read it 18:53:35 fantasai: reading in your own language is easier because participants don't need to think about it 18:53:44 addison: There are common patterns to this, this is similar to other things that ppl have done 18:53:45 myles has joined #i18n 18:53:49 ... so maybe we can connect you with some resources 18:54:02 ... and have some guiding discussion to show you the kinds of things that you can 18:54:11 polx: One thing done in MathML 3 introducing long division 18:54:26 ... you have an amount of ppl, asking "how do you write long division in your country" 18:54:30 ... and found 17 different ways 18:54:34 ... and it differs 18:54:41 addison: There are styles even within langguages 18:54:54 ... many ways to do the same thing, all of which are valid, just stylistic or preferential 18:55:00 ... so have to account for those differences 18:55:10 r12a: Have to account for, whatever you come up with should be understood by everyone 18:55:27 addison: Myles will join in 5 minutes, any other things on Math? 18:55:47 polx: If you can send me links to experiments, would be very helpful 18:55:58 ... indeed the design seems like it is something ppl have been doing 18:56:12 addison: wherea re you in the cycle? 18:56:16 polx: This is the FPWD 18:56:24 ... so enough time to inform the design 18:56:35 ... really a big trade-off between simplicity and explicitness 18:58:38 [discussion of possible survey] 18:58:47 fremy: If you have this presentation, how do you read it? 18:59:01 ... might not be the preferred presentation but how do you read it 19:00:21 https://github.com/w3c/csswg-drafts/issues?q=is%3Aissue+is%3Aopen+label%3Ai18n-tracker 19:01:03 https://github.com/w3c/csswg-drafts/issues?q=is%3Aissue+is%3Aopen+label%3Ai18n-tracker+label%3A%22Agenda%2B+TPAC%22 19:02:03 https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+is%3Aissue++label%3Ai18n-needs-resolution 19:02:06 https://github.com/w3c/csswg-drafts/issues/6848 19:02:19 Topic: CSS issues 19:03:47 myles: on windows certain fonts display backslash as yen sign, so people use backslash where they mean yen 19:04:01 q+ 19:04:04 ... so on macos we have to do something to make these fonts display to the user intention 19:04:26 ... only certain fonts or certain encodings 19:04:50 fantasai: do we have an idea of the best way forware 19:04:51 q+ 19:05:03 r12a: kida-san provided some recommendations 19:05:26 https://github.com/w3c/csswg-drafts/issues/6848#issuecomment-1226798241 19:05:41 ack florian 19:06:06 florian: can take a shortcut to talk about yen, but korean has won sign 19:06:12 ... they appear in file paths for windows 19:06:31 ... in asia, very familiar 19:07:07 ... makes me wonder if kida-san's recommendation is correct, since any webpage will use Unicode 5C but expect to show yen or won or yuan 19:07:23 ... normally characters should be different for a reason 19:07:51 ack addison 19:08:19 addison: this is holdover from DOS days 19:08:27 ... see ppl use \ as currency symbol 19:08:33 ... I don't think modern APIs generate that often 19:08:37 florian: keyboards do 19:08:58 addison: I agree with Myles we need to solve this in a consistent manner 19:09:00 ... because will be tricky 19:09:06 ... because intention is lost 19:09:24 myles: Is there a key on Japanese keyboards for Yen or Won sign 19:09:34 florian: I think answer is no, you press just the one key 19:09:39 ... backslash/yen key 19:09:51 ... how software converts that to Unicode is maybe they do 5C 19:09:54 ¥ 19:09:55 ... but there's just one key 19:10:10 atsushi: Some keyboards have both 19:10:15 ... my keyboard has botht 19:10:18 s/botht/both 19:10:33 i/Topic: CSS/scribe+ addison 19:10:42 myles: Do you know if those keyboards are common? 19:10:55 addison: just switching to IME doesn't get you yen sign until you swith out of directed mode 19:11:16 ... but in command shell you'll see paths displayed consistently in those localse with those symbols 19:11:27 r12a: What about escape codes? Do they all start with yen sign? 19:11:29 florian: I guess so 19:11:43 ... but not sure, not on Windows for too long 19:11:48 ... and this really is a Windows-ism 19:11:55 ... it's not a Linux thing and not a Mac thing 19:12:04 addison: You could wish to start to repair the world 19:12:06 -> https://en.wikipedia.org/wiki/Japanese_input_method Some photos of Japanese keyboards 19:12:14 ... certainly backslashes as backslashes outside a path context 19:12:28 florian: If you're thinking about a Mac author writing an article about Windows, it would be fine if you don't get it automatically 19:12:31 keyboard map examples -> http://qa.elecom.co.jp/faq_detail.html?id=5262 19:12:38 ... and have to work to find char for Windows users 19:12:51 ... but if you have a machine where the font renders \ as Yen 19:12:56 ... then won't notice the oddness 19:13:04 ... Kida-sans advice, does it work if we can't fix the font? 19:13:15 ... Removing tricks from fonts is nice, but fonts are already out there. Too late tof ix 19:13:19 s/tof ix/to fix 19:13:34 myles: interesting observation is that if you use ICU to convert the byle 5C from Shift-JIS encoding 19:13:46 ... e.g. say this sequence of bytes is a SHift-JIS encoded string, and that byte is 5C 19:13:59 ... if you then take this string as 1 byte and ask convert to UTF-8, the result that ICU produces is also 5C 19:14:15 ... so ICU at least seems to be thinking that the encoded byte 5C in Shift-JIS is backslash rather than meaning yen sign 19:14:27 addison: it absolutely has to, because underneath the hood the OS expects a backslash in the path 19:14:43 ... just a thing in East Asian OSes that the DOS fonts and later presentational fonts show paths as having the symbol in them 19:14:57 ... I don't think it was shift-JIS, I think it was the single-byte national code sets that had yen sign in them 19:15:03 ... so I think that's the right behavior for a converter 19:15:14 ... but what's happened is that everyone got used to path separators looking like currency sybol 19:15:19 ... even though underneath the hood they're really 5C 19:15:30 ... which is horrrifying 19:15:58 fantasai: So what do we want to do here? DO we want other borwsers to adopt WebKit behavior or something else? 19:16:18 myles: not a mode, just any time you have a particular encoding OR certain fonts, we will automatically swap out the two characters 19:16:27 addison: My question is, is this something one could style on or off 19:16:37 myles: not with a CSS property. That's one potential option, could control with a CSS property 19:16:49 florian: Should we have in @font-face some descriptors to tell what the font is doing? 19:17:07 ... currently triggering WebKit behavior on several famous fonts, but could be non-famous fonts 19:17:20 myles: sound sreasonable 19:17:28 myles: also this list of names is heuristic 19:17:41 ... if you make @font-face rule with same name, but source is a different font, that will still trigger 19:17:50 fantasai: I think at that point you're asking for trouble 19:18:02 florian: Maybe intial value of descriptor can be auto 19:18:13 ... [missed] and trigger the right behavior 19:18:28 myles: This code is older than WebKit-Blink fork, and Blink doesn't have it so must have intentionally removed it 19:18:48 fantasai: They also aren't as focused on Mac, so maybe not as focused on that? 19:19:09 florian: These fonts are not on Android either 19:19:19 addison: These fonts are named in the stylesheet and subbed in OS 19:19:22 ... but taking the behavior 19:19:33 florian: Chrome on Android should be having the same problems as WebKit on MacOS 19:19:38 ... but Chrome removed it, possibly on purpose 19:20:12 fantasai: the two options we have are 19:20:30 fantasai: 1: remove this special behavior from webkit, and just let the font do what it does 19:20:46 fantasai: this will result in pages result very different on windows vs other OS 19:21:10 fantasai: option 2: encode this behavior in all browsers, and possibly add some css to control it 19:21:29 myles: we could change our heuristic 19:21:39 fantasai: but something more or less like it 19:21:47 q+ 19:21:50 fantasai: we should probably take that to the CSSWG 19:21:55 ack Bert 19:21:59 Bert: This might also occur to other languages 19:22:06 florian: It happens for sure in Japan and Korea 19:22:18 addison: Also affects simplified Chinese, maybe also traditional 19:22:37 fantasai: If we standardize this, should expand to other affected languages 19:22:41 addison: I think limited to East Asian at least 19:22:52 Bert: WebKit only does Yen sign, right? 19:23:09 florian: Do you have equivalent heuristic for Korean, or don't do it for Korean? 19:23:15 myles: I've exhaustively listed our cirteria 19:23:52 polx: Is there special behavior for French francs? 19:24:01 florian: There were symbols, but never intermingled with backslash in encodings 19:24:33 ACTION: fantasai to summarize into issue, for discussion in CSSWG 19:24:33 Created ACTION-1194 - Summarize into issue, for discussion in csswg [on Elika Etemad - due 2022-09-19]. 19:24:42 myles: If other browsers refuse to implement, this makes our decision for us 19:24:49 fantasai: Thats why need to discuss on Friday 19:25:18 https://github.com/w3c/csswg-drafts/issues/7183 19:25:45 [css-text-4] Make autospace a property, rather than a value of text-spacing #7183 19:25:53 Topic: https://github.com/w3c/csswg-drafts/issues/7183 19:26:07 r12a: I think there are advantages of splitting these two apart 19:26:21 ... and may even be able to do some additional stuff, such as replacing normal spaces with autospacing 19:26:32 myles: When you say autospacing, can you describe? 19:26:43 r12a: in Japanese, there's typically a little bit of extra space between Japanese chars and numbers 19:26:49 ... or between Japanese chars and Latin 19:26:59 ... and that's something that if you put in an actual space before/after 19:27:05 ... those spaces are too big 19:27:07 ... and don't really belong there 19:27:17 ... so the autospace property applies that extra spacing without having to add that spacing 19:27:25 ... which everyone wants that 19:27:39 ... whereas text-spacing is stretching gaps 19:27:45 myles: I'm confused, what's the difference? 19:28:11 r12a: text-spacing applies equal amount of space 19:28:15 ... autospacing is particular to context 19:28:25 ... and another question of applying lots of these spaces across range fo text 19:28:30 ... about surrounding text with a bit of space on either space 19:28:34 ... often fixed-size space 19:29:57 myles, see this (read the whole section) https://r12a.github.io/scripts/jpan/#letterspace 19:30:56 [fantasai explains what text-spacing does] 19:31:18 myles: transform spaces in source? 19:31:27 fantasai: either transform or to insert where not already there 19:31:36 r12a: also includes reduction of space around punctuation 19:31:59 ... everything to do with space, rather that different types 19:32:08 addison: so could split different classes of mechanical spacing 19:32:24 ... for CJK autospacing would give you for runs of non-native text 19:32:33 ... and not affect any other spacing 19:32:50 r12a: Splitting it out allows you to be more specific 19:32:57 ... apply to certain cases and nother others 19:33:02 ack fantasai 19:33:03 s/nother/not/ 19:33:08 q+ 19:33:26 r12a: I wanted to throws this out there because I think there's been no movement on it 19:33:31 fantasai: haven't been working on Text 4 lately 19:33:44 ack myles 19:33:52 myles: I don't wat to comment on property split 19:34:03 ... but our native text engine CoreText has a similar feature for Chinese and Japanese text 19:34:10 ... where it inserts spacing 19:34:25 ... in various places between different kana, punctuation, for Chinese and Japanese 19:34:32 ... and it has specific rules about where that happens 19:34:44 ... text-spacing property in Text L4 has a bunch of values which are fairly prescriptive about where space goes 19:35:08 ... so for us, the reason that we like the auto value here is it's a way for CSS text to match the native text engine 19:35:14 ... to get equal fidelity with native apps and webapps 19:35:25 r12a: i'm not arguing against an auto value 19:35:56 myles: If we have auto value in its own property, what would be the meaning if you specify "do autospacing" which for us would mean match platform *and* you supply different value to text-spacing in conjunction 19:36:11 r12a: have a read of this stuff and the description I pasted I pasted into IRC 19:36:23 ... what I'm saying is that these are different things that involve gaps 19:36:27 ... for different reasons and in different ways 19:36:42 myles: Question is what does it mean "do autospacing" and also say "text-spacing: trim-start" 19:36:54 r12a: I'm not sure that there's a clash there 19:37:02 ... you're just offering content author ability to handle independently 19:37:06 ... I don't think they overlap 19:37:38 fantasai: different ways of splitting the control 19:37:46 .... text-spacing could shorthand two properties 19:37:57 ... one for punct. vs. script boundaries 19:38:29 ... or could have an indepdendent property for controlling the space replacement vs. how much 19:38:46 ... set for whole doc "how much it is" vs. turning on and off 19:38:54 ... think about what is more ergonomic for authors 19:39:00 ... want to control how much spacing 19:39:16 ... could go in another level, currently in L3, could consider in L4 19:39:50 ... for example, underline position is separate from whether it is on or off 19:39:58 s/currently in/was originally in/ 19:40:18 myles: When reviewing r12a's document, I see text about letter-spacing, initial-line punctuation, text-indent, 19:40:27 ... want to make sure I'm not missing autospacing 19:40:40 r12a: autospacing I'm talking about is the spacing around alphabetic or numeric phrases 19:41:00 ... seprately is spacing around punctuation 19:41:08 ... felt it easier to split up that way for readers 19:41:35
19:42:28 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 19:46:26 present+ 20:26:59 addison has joined #i18n 20:27:11 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 20:27:31 Topic: ~* Lunch *~ 20:30:05 New Dial-in: https://us02web.zoom.us/j/85205096646?pwd=Z0tIVk1PdHlPZ20vQlBVRmVqSG1RZz09 20:30:11 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 20:40:41 PeterR has joined #i18n 20:41:15 polx has joined #i18n 20:41:27 present+ PeterR 20:43:20 Topic: Intros 20:43:32 PeterR: Peter Rushworth 20:43:52 PeterR: interested because of indigenous languages and making them happen in browsers 20:44:18 ... maps is my focus, but fact finding 20:44:22 s/Rushworth/Rushforth/ 20:47:45 David: connect with Andrew Cunningham perhaps? 20:48:57 RRSAgent, draft minutes 20:48:57 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html Bert 20:49:05 Topic: CSS Stuff 20:49:13 fantasai: color contrast discussions https://github.com/w3c/csswg-drafts/issues/6319 20:49:16 ... to be aware of 20:50:05 fantasai: question about whether color contrast values are affected by writing system, and how to have algos account for this 20:51:40 fantasai: Another unsolved issue is top metrics for non-Western scripts https://github.com/w3c/csswg-drafts/issues/5244 20:54:38 fantasai: Related to Kaiti issue is fangsong issue https://github.com/w3c/csswg-drafts/issues/4425 20:55:08 [discussion of what styles fall back to what] 20:55:26 florian: Define grasscript only over the CJK range 20:55:33 ... because don't want it to fall back to children's handwriting font 20:55:48 dsinger: Maybe look at semantics of what the styles convey 20:55:53 ... e.g. if about emphasis, translate it 20:56:03 florian: but what's the Khmer equivalent to writing German in Fraktur? 20:56:14 dsinger: That would be archaic, that's the semantic, roughly 20:56:24 ... but this is how you emphasize in Chinese, so go to bold or italic in English 20:56:42 florian: we sort of used to try to do, either serif or sans-serif or cursive, but moving away from that because mapping is too hard 20:56:48 addison: semantically differnet and not 1-1 mapping 20:57:03 ... Japanese emphasis might have bg color difference, or emphasis marks, not bold or italc 20:57:08 ... can style em or strong to be these things 20:57:18 ... but really different things 20:57:34 q? 20:57:38 addison: drop-cap thing, if you try to smash everything into Western typographic, that doesn't match how fonts are structured or how the script works 20:58:03 fantasai: what we need to consider is that we're not going to be able to map every style of font, even in western typography 20:58:07 ack fantasai 20:58:11 fantasai: it should not be our goal to be exhaustive 20:58:39 fantasai: the reason to create a new generic style is if you were using that to convey semantic differences or contrast 20:59:07 fantasai: we need to have css be able to fall back when the font is missing to something else that would express the same semantic contrast 20:59:57 fantasai: in English text, you wouldn't switch between Times and Palatino to to express anything, but you might switch between italics or monospace or something. That needs preservation 21:00:53 fantasai: same logic should apply to chinese: if the text switches from something to grass styles to express a distinction, then we'd need it, but I suspect you won't actually find text… 21:01:45 fantasai: …where that is the only difference. Using a different style for a heading isn't strong enough, as there's other things that distinguish the heading. 21:03:17 addison: are generics about "give me a font with this type of styling generally" or ... 21:03:25 fantasai: The were added originally for that, but that's not what we need 21:03:48 ... fantasy or cursive are useless because their purpose is to convey a feeling and they cna't do that because such a wide variety of fonts in each category 21:04:23 ... 21:04:42 fantasai: you can use lang tags to tweak generic choices 21:04:47 dsinger: ... 21:05:05 dsinger: We don't have a place to put information about shaping of certain language/writing systems 21:05:17 addison: If you look at Urdu vs Arabic, they have different stylistic variations 21:05:22 ... not serif vs sans-serif 21:05:31 ... you can look at them and say their not really serif or sans-serif 21:05:45 ... can smash into those buckets, or do we recognize that without changing language there are different font styles 21:05:49 ... is it semantic thing 21:05:56 ... I can argue both sides, it's really hard to add generics 21:06:19 ... shaping engines work in specific ways with info we haave 21:06:24 ... some token to pass, this is what I intend 21:06:36 ... without being able to know what fonts are installed on a machine 21:06:49 dsinger: I'm hearing it's inappropriate to talk about generics in Latin terminology 21:06:55 ... so we should have names for things they do in those scripts 21:07:04 ... but then we have a problem of translation, what does it mean in other script 21:07:20 florian: don't necessarily have a problem, can apply :lang() selectors to choose fonts differently 21:07:33 ... but if we say that Kaiti is not cursive, but new, then how many such new things should we have? 21:07:41 ... do we want to go as far as fantasai said? 21:07:49 ... or go further, e.g. I want Humanist typeface? 21:08:12 ... not just about adding keywords, but also browser needs to have access to the fonts *and* know which fonts map to each keyword 21:08:52 fantasai: I think we have two critera 21:09:02 ... one is what Florian mentioned, which is can we reasonably implement this generic 21:09:40 ... other is do we need the generic in order to ensure the semantic preservation 21:09:49 ... e.g. if these two fall back to the same font, will the text be less understandable 21:09:54 ... nevermind whether it feels appropriate 21:10:04 florian: typical example would be italics in English 21:10:11 ... if you lose the italics, you lose the fact that there was emphasis 21:10:43 ... if you have a document which uses italics for emphasis and you fall back to normal text instead of italics, you lose information 21:10:48 ... what are the cases in other languages? 21:11:34 CSS font classification isn't based on Vox, but showing that others are struggling with classifications, too: -> https://en.wikipedia.org/wiki/Vox-ATypI_classification ATypI abandoned the Vox classification and is working on new one. 21:12:02 fantasai: the reason for the change should be in the markup, and then you style it however you want. But it often happens that then way you style thing is that the only difference is between the font face, then we need generics to be able to preserve that distinction 21:12:28 addison: I think I agree with you, but your test may be incorrect 21:12:36 ... if you suppose that someone used that as the only distinction 21:12:46 ... e.g. I've seen serif vs sans-serif, e.g. as a form of emphasis 21:13:20 ... but you could imagine that a document that would pass your test and still say, well, the fact that the browser smashed these two styles together is because of a limitation of our ability to express in generics 21:14:57 fantasai: we should not introduce generics to deal with that problem just become some one-off document made a distinction, but if it is one commonly made in the language, then it calls for generics 21:15:11 fantasai: ... 21:15:33 florian: I would like to see generics for more things, but if we are going to get a more limited set, the criteria you mention are the minimum we should aim for 21:15:43 ... I think it would still be nice to pick from general categories for preferences 21:15:49 ... e.g. naastaliq 21:16:08 ... But regardless, we can't just make nice keywords in specs. The browsers need to be able to map them 21:16:26 ... if we create 500 generics in all known languages, it's not going to have good coverage and not going to be helpful 21:16:31 addison: it's like counter styles 21:16:39 ... I know I want certain things, but to force everyone to implement 21:16:51 ... if you're styling documents can use these keywords in this way, and it will do a good job of getting fonts that matches 21:17:00 florian: maybe can provide premade style sheets for this 21:17:11 ... but even though I would like all to be covered by browser, if we have smaller set 21:17:21 ... fantasai is hinting at the minimum neessary for international text to work 21:17:27 ... nice to go beyond, but should at least start there 21:17:36 addison: it's about where font management taking plae 21:17:57 fantasai: where it gets implemented is a bit more of an open question 21:18:05 ... not necessary to spec 21:18:11 ... up to implementations 21:18:53 fantasai: it often happens that introducing it in CSS puts the pressure on the reste of the ecosystem to make it happen 21:19:34 fantasai: as the i18n WG, what we need to do is to identify the critical things that needs to exist so that the earlier criteria can be handled 21:20:47 r12a has joined #i18n 21:21:58 q? 21:22:20 fantasai: just like western designers may wish to get the distinction between serif and slab serif, Arabic designers might wish for many distinctions, but that's not a priority 21:22:25 florian: if it's a one-off, that's one thing. If it's a regular pattern, need to build into CSS 21:23:05 i/florian: /dsinger: if writing a document [gives example of switching font styles] 21:23:21 fantasai: but if the common type of document wouldn't make sense on a phone because the phone doesn't show the right distinction, then that's a problem. 21:24:17 addison: [...] 21:25:00 fantasai: css should be designed in a way that as you fall back through fonts, you may loose some styling, but you shouldn't lose meaning. Whichever generics are needed to make that happen should exist 21:25:19 florian: Imagine we were not all familiar with Latin, and only had distinction relevant to our own language 21:25:25 ... discussing about adding generic keywords 21:25:30 ... as i18n, and they explain italics 21:25:39 ... if you miss that, you'll have difficulty understanding 21:25:51 ... if you can't preserve that you will miss information 21:26:06 ... they have many different font styles, which is nice, but need italics vs non italics 21:26:16 ... CSSWG knows how to introduce generics 21:26:20 ... but doesn't know what's needed to add 21:26:41 ... if i18n can say, in language X you will use font face changes to distinguish these different uses 21:26:57 ... functions similar to switching to monospace or switching to italics in Latin 21:27:13 ... if i18nwg comes back and says these 7 keywords would solve these problems, CSSWG can add them 21:27:15 r12a has joined #i18n 21:27:20 ... but i18nwg needs to find these cases 21:27:28 addison: Can identify here's a group of languages, and here's what they do 21:27:36 ... forgetting about the outside world, this is how they classify fonts 21:28:03 fantasai: but we don't care how they classify fonts if they're not using those classifications to make distinctions within the same document 21:28:10 addison: there are mental classificatoins 21:28:20 ... for emphasis, we've introduced different ways to style emphasis 21:28:30 ... because obliquing things is not the way to do it 21:28:36 ... We can describe what those all are 21:28:45 ... but can show what the cases are and have a discussion of where the bar should be 21:28:51 ... before we take the plunge and introduce a new generic 21:28:58 ... or should we do interstitial work that's separate 21:30:03 fantasai: nastaliq vs kufi is not going to be a distinction used within a document to contrast things. Would be nice to have, but not critical for understanding 21:31:52 [discussion of kaiti vs non-kaiti being used simlar to italic vs non-italic] 21:32:24 fantasai: I think the problem with classifing kaiti as cursive would be that if you ask for kaiti, you might get grasscript which would be totally inappropriate 21:33:14 florian: Would be like asking for monospace to express code and fell back to Zapfino 21:33:21 ... the contrast would be there, but what it means is lost 21:33:33 ... falling back to monospace would be better 21:34:00 dsinger: in this document, use the font as distinction, and in other as stylistic 21:34:00 q? 21:34:06 ... what do we do in that case 21:34:13 ... want both documents to be readable at least 21:34:41 florian: problem of mapping fonts to categories, browser can do it if we introduce 3 new keywords; but not if we introduce 50 21:34:54 ... a handful (worldwide), they can do it and it will be usable 21:35:05 ... if instead of 3 (ignoring the 2 uselss ones) we had 8 or 9, would be manageable 21:35:14 ... if we are asking for 50, will not be impemented 21:35:21 ... so what are the few extra ones that are critical for understandability? 21:36:26 florian: can we action i18n to find the cases where font face category switches are needed for understanding common documents? 21:36:34 addison: other challenge is we'll not find a global generic 21:36:47 ... we'll find a set of traditions over here with Kaiti, over there with another one, etc. 21:36:53 ... will find islands of variations 21:36:56 florian: that's fine 21:37:10 David-Clarke: Would things like old-fashioned/modern/etc be types of categories to look 21:37:16 dsinger has joined #i18n 21:38:07 fantasai: no, because that's just a stylistic preference 21:38:17 florian: The distinction here is critical to have for understanding documents, vs stylistic preferences 21:38:49 action: addison: follow up with r12a and others about gap analysis for font generics 21:38:49 Created ACTION-1195 - Follow up with r12a and others about gap analysis for font generics [on Addison Phillips - due 2022-09-19]. 21:39:17 Florian: the distinction between old style or modern isn't a wrong one, but it isn't a critical one in the sense that both aren't commonly used in the same document to contrast two pieces of text 21:42:03 Topic: Triage 21:42:06 https://github.com/w3c/csswg-drafts/issues?page=2&q=is%3Aopen+is%3Aissue+label%3Ai18n-tracker 21:46:08 https://github.com/w3c/i18n-request/projects/1 21:48:00 https://github.com/w3c/csswg-drafts/issues/1790 21:49:26 fantasai: some kind of overview might make sense to me 21:49:50 ... lot of details handled in there, not just baseline alignment not just in one writing system, but when mixed 21:49:59 ... and this section tries to account for all of that 21:50:18 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 21:53:58 overview of baselines in CSS at https://www.w3.org/TR/css-inline-3/#css-metrics 21:55:28 fantasai: discussion of text-spacing and adding rules to handle non-fullwidth punctuation https://github.com/w3c/csswg-drafts/issues/6091 21:55:41 polx has joined #i18n 21:58:50 polx has joined #i18n 22:01:24 action: atsushi: follow up with jlreq on csswg#6091 to see if non-CJK enclosing punctuation should be included in space-trimming 22:01:24 Created ACTION-1196 - Follow up with jlreq on csswg#6091 to see if non-cjk enclosing punctuation should be included in space-trimming [on Atsushi Shimono - due 2022-09-19]. 22:01:58 https://github.com/w3c/csswg-drafts/issues/1282 22:03:18 https://github.com/w3c/csswg-drafts/issues/1282#issuecomment-952428897 22:05:28 fantasai: review miriam's comment linked above and convince csswg about direction 22:15:35 https://github.com/w3c/csswg-drafts/issues/6915 22:18:16 [addison explains how lang tags for undetermined language work] 22:31:36 conclusion 1: :lang("") matches lang="" 22:32:12 conclusion 2: :lang("*") matches everything but lang="" 22:32:40 conclusion 3: maybe add a note about lang="und" and lang="" being treated distinctly, despite having similar semantics 22:33:23 ACTION: florian to reread issue, and if conclusions still make sense in the end, post as the proposal 22:33:24 Created ACTION-1197 - Reread issue, and if conclusions still make sense in the end, post as the proposal [on Florian Rivoal - due 2022-09-19]. 22:35:12 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 22:38:21 present+ David Singer (guest, css) 22:38:33 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 22:39:11 zakim, bye 22:39:11 leaving. As of this point the attendees have been Addison, Atsushi, (virtual), Richard, Florian, (guest), Greg, Francois, Fuqiao, xfq, Paul, mathml), Bert, fantasai, David-Clarke, 22:39:11 Zakim has left #i18n 22:39:55 Topic: AOB? 22:40:09 22:40:13 I have made the request to generate https://www.w3.org/2022/09/12-i18n-minutes.html addison 23:47:43 polx has joined #i18n