Darren Kenny-san wrote (06/ 2/09 03:48 PM): > I'm sure that evince could have a localized default, but it would seem to be > the > wrong place to do it. > > It's looking like whatever solution we take we are going to have to modify > some > code, but if we would be considering creating a GConf key, then I would > suggest > a more central one that could be used by all apps. (e.g > /apps/gnome-print/paper/paper_size - which currently exists, but is always > defaulted to A4).
I agree it should be a better thought than mine. Yes, the schemes values can be localized and I would think A4 size for CJK users. Thanks, fujiwra > > This could then in turn be localized for each locale... And if evince was > changed to use it then the correct default would be more likely to be picked > up. > > Darren. > > On 01/06/2009 09:29, Takao Fujiwara - Tokyo S/W Center wrote: >> Brian: >> >> Brian Cameron-san wrote (05/31/09 01:19 AM): >>> Takao: >>> >>>> It seems LC_PAPER is GNU extensions but not POSIX. >>>> http://www.gnu.org/software/hello/manual/autoconf/Special-Shell-Variables.html >>>> >>>> >>>> It may be better to use getenv("LC_PAPER") besides setlocale(LC_PAPER, >>>> NULL) until the RFE is fixed. >>> Are you saying that we should modify evince to check the LC_PAPER >>> environment variable, because it doesn't do so now? And this would >>> allow people to set the default letter if they want? >> Yes, my understanding is, the fix of bugzilla 525185 could provide US letter >> when users set LC_PAPER=en_US.UTF-8 but the default would be A4. >> Solaris(and BSD) doesn't have GNU libc and I guess the original problem is >> not resolved in Solaris? >> >>> Do you have any ideas where & how LC_PAPER should be set for users? >> I think just ideas. >> >> 1. Evince has the internal data of US letter and A4 size. e.g. >> >> if (setlocale (LC_PAPER, NULL) == NULL && >> g_getenv ("LC_PAPER") != NULL) { >> const char *lc_paper_str = g_getenv ("LC_PAPER"); >> >> if (g_ascii_strncasecmp (lc_paper_str, "en_US", 5) == 0) { >> /* US Letter size */ >> width = 21.59; >> height = 27.94; >> } >> else if (g_str_has_suffix (lc_paper_str, "@letter")) { >> /* US Letter size */ >> width = 21.59; >> height = 27.94; >> } >> else { >> /* A4 size */ >> width = 20.99; >> height = 29.70; >> } >> } >> >> >> 2. Evince has an alternate choice with gconf. e.g. >> >> if (setlocale (LC_PAPER, NULL) == NULL) { >> GConfClient *client = gconf_client_get_default (); >> >> paper = gconf_client_get_string (client, "/apps/evince/default_paper", >> NULL); >> width = gconf_client_get_float (client, "/apps/evince/default_width", >> NULL); >> height = gconf_client_get_float (client, "/apps/evince/default_height", >> NULL); >> >> if (paper != NULL && >> g_ascii_strcasecmp (paper, "letter") == 0) { >> /* US Letter size */ >> width = 21.59; >> height = 27.94; >> } >> else if (paper != NULL && >> g_ascii_strcasecmp (paper, "a4") == 0) { >> /* A4 size */ >> width = 20.99; >> height = 29.70; >> } >> >> width = (width > 0.0) ? width : 20.99; >> height = (height > 0.0) ? height : 29.70; >> } >> >> fujiwara >> >>> Brian >>> >>> >>>> Darren Kenny-san wrote (05/27/09 07:52 PM): >>>>> Hi Brian, >>>>> >>>>> On 26/05/2009 16:14, Brian Cameron wrote: >>>>>> Darren: >>>>>> >>>>>> If you needed to modify the patch to get it to backport, then I'd >>>>>> recommend updating it as a new attachment in the bug report and >>>>>> encourage the maintainers to put this patch into the next 2.26 >>>>>> release. I think it is a serious enough usability issue that 2.26 >>>>>> users would appreciate this fix, especially if you already did all >>>>>> the work to prepare the patch. >>>>> I'm not sure what you mean - I backported the fix from the GIT >>>>> changes - and the >>>>> modifications were mainly just to get it to apply since other lines >>>>> in the files >>>>> had all changed and as such it wouldn't apply using the patch command. >>>>> >>>>> I can't see any benefit of having the community make a change in 2.26 >>>>> when it's >>>>> already fixed and working there. If you mean putting it into the next >>>>> 2.22 >>>>> release then that's slightly different, and maybe worth mentioning, >>>>> but I can't >>>>> imagine that there is likely to be a new 2.22 release of evince any >>>>> time soon, >>>>> but I've updated the bug anyway :) >>>>> >>>>>> We should also file an enhancement request upstream so that the evince >>>>>> community can consider making the default letter size based on the >>>>>> user's locale setting, as Jim suggests later in the thread. That >>>>>> seems a reasonable enhancement request that someone in the community >>>>>> might have an interest in working on. >>>>> That already works upstream - Linux has the LC_PAPER locale variable >>>>> - it's >>>>> Solaris that's lacking in this department, so needs to be fixed on >>>>> Solaris... >>>>> >>>>> I've logged an RFE to track this request: >>>>> >>>>> 6845408 - Solaris needs a mechanism to determine default print page >>>>> size based on locale. >>>>> >>>>> Thanks, >>>>> >>>>> Darren. >>>>> _______________________________________________ >>>>> desktop-discuss mailing list >>>>> desktop-discuss at opensolaris.org >>>>> >>> >
