X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fdevice-msw.c;h=62536b7e5dffd0bc079b9870531d8855b8ec1d82;hb=a91886336030ac6177807a6d0f024a400cc610fb;hp=63ac69d7c9a1938726be6a76b3c3dec0f502ff9b;hpb=21db8709c0c2dcedbd278c7fe571290d5ce80a71;p=chise%2Fxemacs-chise.git.1 diff --git a/src/device-msw.c b/src/device-msw.c index 63ac69d..62536b7 100644 --- a/src/device-msw.c +++ b/src/device-msw.c @@ -804,25 +804,25 @@ mswindows_get_default_margin (Lisp_Object prop) if (EQ (prop, Qright_margin)) return 1440; if (EQ (prop, Qtop_margin)) return 720; if (EQ (prop, Qbottom_margin)) return 720; - abort (); + ABORT (); return 0; } static int -plist_get_margin (Lisp_Object plist, Lisp_Object prop) +plist_get_margin (Lisp_Object plist, Lisp_Object prop, int mm_p) { Lisp_Object val = Fplist_get (plist, prop, make_int (mswindows_get_default_margin (prop))); if (!INTP (val)) invalid_argument ("Margin value must be an integer", val); - return MulDiv (XINT (val), 100, 144); + return MulDiv (XINT (val), mm_p ? 254 : 100, 144); } static Lisp_Object plist_set_margin (Lisp_Object plist, Lisp_Object prop, int margin, int mm_p) { - Lisp_Object val = make_int (MulDiv (margin, 144, mm_p ? 2450 : 100)); + Lisp_Object val = make_int (MulDiv (margin, 144, mm_p ? 254 : 100)); return Fcons (prop, Fcons (val, plist)); } @@ -866,15 +866,21 @@ mswindows_handle_page_setup_dialog_box (struct frame *f, Lisp_Object keys) { Lisp_Devmode *ldm = decode_devmode (device); PAGESETUPDLG pd; + TCHAR measure[2]; + int data; + + GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_IMEASURE, + measure, sizeof(measure)); + data = (strcmp (measure, "0")); memset (&pd, 0, sizeof (pd)); pd.lStructSize = sizeof (pd); pd.hwndOwner = mswindows_get_selected_frame_hwnd (); pd.Flags = PSD_MARGINS; - pd.rtMargin.left = plist_get_margin (plist, Qleft_margin); - pd.rtMargin.top = plist_get_margin (plist, Qtop_margin); - pd.rtMargin.right = plist_get_margin (plist, Qright_margin); - pd.rtMargin.bottom = plist_get_margin (plist, Qbottom_margin); + pd.rtMargin.left = plist_get_margin (plist, Qleft_margin, !data); + pd.rtMargin.top = plist_get_margin (plist, Qtop_margin, !data); + pd.rtMargin.right = plist_get_margin (plist, Qright_margin, !data); + pd.rtMargin.bottom = plist_get_margin (plist, Qbottom_margin, !data); pd.hDevMode = devmode_to_hglobal (ldm); if (!PageSetupDlg (&pd))