[00:00.000 --> 00:28.520] This is my first conference and I am not very good in English, so forgive me if I say [00:28.520 --> 00:36.880] something wrong. I will speak about the footnotes in multi-column sections. I [00:36.880 --> 00:47.600] worked on this in last year, a year ago. I thought it can be an interesting [00:47.600 --> 01:00.200] problem. Oh, I had to go back. Okay, so I got a back ticket to a fix and it was a [01:00.200 --> 01:05.480] very simple ticket at first sight. It was only just a one line text and [01:05.480 --> 01:11.400] somehow the writer displayed it as two pages and while the word was displayed [01:11.400 --> 01:19.240] just one page. Beside the one line text there was a footnote and its sections [01:19.240 --> 01:24.800] has two columns and there was a continuous section break. First I talked, [01:24.800 --> 01:32.300] it's just a problem about the section break, some why it's changed to a page [01:32.300 --> 01:38.040] break or something like that, but that was an instinct. It was a strange thing [01:38.040 --> 01:46.320] why the footnote and the column was needed. If I deleted any of them then the [01:46.320 --> 01:54.600] writer changed to one page and it was okay, but I wasn't, it was changed why [01:54.600 --> 02:03.480] it is needed. So I started to debug to find where it's become to a page and I [02:03.480 --> 02:09.960] found the problem in the layout in calculation and there was even a [02:09.960 --> 02:19.480] comment about it stating that the footnote container causes to [02:19.480 --> 02:30.400] maximize size in this case. This function to maximize function will calculate if we [02:30.400 --> 02:40.640] have to maximize the column frame, the whole section frame, to the whole page [02:40.640 --> 02:50.080] and it has several conditions like is footnote at end and is endnote at end. [02:50.080 --> 02:59.200] They are checkboxes on the GUI named the collected end of text and the [02:59.200 --> 03:06.920] collected end of section for end nodes. They are, they was false in this case. Oh [03:06.920 --> 03:14.840] the hasfollow isn't matter now, it was false in this case too, but there was [03:14.840 --> 03:22.160] another function that contains footnote container. I checked this function and [03:22.160 --> 03:32.440] this function just blindly check if the section have column frame tried that [03:32.440 --> 03:38.600] has of footnote container frame tried and if it has one then it returned the [03:38.600 --> 03:45.160] first one it found. So now it seems the function was directly [03:45.160 --> 03:53.240] righted like this way. So the question is was why do we want to break a page in [03:53.240 --> 04:03.320] this case? I even checked the git who changed it or something like that but it [04:03.320 --> 04:11.720] was in the very first commit I could reach in the initial import at 2000 [04:11.720 --> 04:19.600] year and nobody changed it and I was even wonder why this many condition is [04:19.600 --> 04:27.520] needed not just the first one I found but the not collected end is still needed [04:27.520 --> 04:38.600] for it. For this I had to analyze the frames how they work so I listed the [04:38.600 --> 04:47.880] frames related to footnote some case. The footnote frame is for one footnote [04:47.880 --> 04:57.200] entity it can contain a text frame and this can be in a footnote container [04:57.200 --> 05:08.280] frame and that frame contains a list of footnotes. It's important it's not [05:08.280 --> 05:15.720] two-dimensional list it's just a simpler list that it can display and this [05:15.720 --> 05:26.120] footnote container frame can be in a page frame or a column frame. So what is [05:26.120 --> 05:31.800] important in it that the footnote container frame does not really support [05:31.800 --> 05:39.880] columns it just I could say just one column of footnotes and that's all but [05:39.880 --> 05:48.360] we can put this container frame in any of the column frame event so if we put [05:48.360 --> 05:55.640] this container frames in every column frame then it will seems like if we [05:55.640 --> 06:11.120] support it's like support multi columns. So in one case we want footnote like [06:11.120 --> 06:17.760] multi columns as like it's in the world in the other case we want if we don't [06:17.760 --> 06:23.240] check the collected end text we want the footnote to be at the page and in the [06:23.240 --> 06:29.360] other case we want the footnote to be in the columns end in physically but as we [06:29.360 --> 06:35.320] say in the display and it can be true only if the column end is equal to the [06:35.320 --> 06:42.920] page end so that's why they maximize the size of the column to the page size. In [06:42.920 --> 06:51.600] our case it's not a good idea because in my test case there was only one [06:51.600 --> 07:05.240] footnote and it doesn't need to be multi columns but if we wouldn't do this what [07:05.240 --> 07:14.240] I showed in the previous slide there could be a contradiction like I made a [07:14.240 --> 07:23.560] test document there is two sections I checked the collected end of text which [07:23.560 --> 07:31.600] means I want the footnote to be after the section end there is two columns at the [07:31.600 --> 07:37.520] first section and three columns at the second section it's very good in this [07:37.520 --> 07:43.800] way but if we would change the collected end of text we would uncheck this [07:43.800 --> 07:50.080] I mean we want all of this footnote at the end of the page then how many columns [07:50.080 --> 07:56.240] you want to how many columns you want it's a contradiction we can't say that [07:56.240 --> 08:10.520] two or three because any of them could be wrong. So what we should need we [08:10.520 --> 08:20.600] should be able to have column childrens for the container frame because it's not [08:20.600 --> 08:31.160] should be but it must be it just should be like words able to have indifferent [08:31.160 --> 08:38.600] number of columns at page as many as in the text so we should have a [08:38.600 --> 08:47.120] ability for the users to choose how many columns you want in the footnote but [08:47.120 --> 09:10.720] we should keep the ability to that's all okay sorry and it's almost end.