mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 7.4.1705
Problem: The 'guifont' option does not allow for a quality setting. Solution: Add the "q" item, supported on MS-Windows. (Yasuhiro Matsumoto)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 7.4. Last change: 2016 Mar 24
|
*options.txt* For Vim version 7.4. Last change: 2016 Apr 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1070,7 +1070,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Note that environment variables are not expanded. If you want to use
|
Note that environment variables are not expanded. If you want to use
|
||||||
$HOME you must expand it explicitly, e.g.: >
|
$HOME you must expand it explicitly, e.g.: >
|
||||||
:let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
|
:let &backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
|
||||||
|
|
||||||
< Note that the default also makes sure that "crontab -e" works (when a
|
< Note that the default also makes sure that "crontab -e" works (when a
|
||||||
backup would be made by renaming the original file crontab won't see
|
backup would be made by renaming the original file crontab won't see
|
||||||
@@ -1245,7 +1245,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
|
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
|
||||||
characters when 'encoding' is an 8-bit encoding.
|
characters when 'encoding' is an 8-bit encoding.
|
||||||
|
|
||||||
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
|
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
|
||||||
'breakindent' 'bri' boolean (default off)
|
'breakindent' 'bri' boolean (default off)
|
||||||
local to window
|
local to window
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
@@ -3634,6 +3634,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
|
HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
|
||||||
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
|
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
|
||||||
Normally you would use "cDEFAULT".
|
Normally you would use "cDEFAULT".
|
||||||
|
qXX - quality XX. Valid charsets are: PROOF, DRAFT,
|
||||||
|
ANTIALIASED, UNANTIALIASED, CLEARTYPE, DEFAULT.
|
||||||
|
Normally you would use "qDEFAULT".
|
||||||
|
Some quality values isn't supported in legacy OSs.
|
||||||
|
|
||||||
Use a ':' to separate the options.
|
Use a ':' to separate the options.
|
||||||
- A '_' can be used in the place of a space, so you don't need to use
|
- A '_' can be used in the place of a space, so you don't need to use
|
||||||
|
@@ -3291,6 +3291,7 @@ logfont2name(LOGFONT lf)
|
|||||||
char *p;
|
char *p;
|
||||||
char *res;
|
char *res;
|
||||||
char *charset_name;
|
char *charset_name;
|
||||||
|
char *quality_name;
|
||||||
char *font_name = lf.lfFaceName;
|
char *font_name = lf.lfFaceName;
|
||||||
|
|
||||||
charset_name = charset_id2name((int)lf.lfCharSet);
|
charset_name = charset_id2name((int)lf.lfCharSet);
|
||||||
@@ -3304,6 +3305,8 @@ logfont2name(LOGFONT lf)
|
|||||||
(char_u **)&font_name, &len);
|
(char_u **)&font_name, &len);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
quality_name = quality_id2name((int)lf.lfQuality);
|
||||||
|
|
||||||
res = (char *)alloc((unsigned)(strlen(font_name) + 20
|
res = (char *)alloc((unsigned)(strlen(font_name) + 20
|
||||||
+ (charset_name == NULL ? 0 : strlen(charset_name) + 2)));
|
+ (charset_name == NULL ? 0 : strlen(charset_name) + 2)));
|
||||||
if (res != NULL)
|
if (res != NULL)
|
||||||
@@ -3331,6 +3334,11 @@ logfont2name(LOGFONT lf)
|
|||||||
STRCAT(p, ":c");
|
STRCAT(p, ":c");
|
||||||
STRCAT(p, charset_name);
|
STRCAT(p, charset_name);
|
||||||
}
|
}
|
||||||
|
if (quality_name != NULL)
|
||||||
|
{
|
||||||
|
STRCAT(p, ":q");
|
||||||
|
STRCAT(p, quality_name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
|
@@ -2689,6 +2689,33 @@ charset_pairs[] =
|
|||||||
{NULL, 0}
|
{NULL, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct quality_pair
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
DWORD quality;
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct quality_pair
|
||||||
|
quality_pairs[] = {
|
||||||
|
#ifdef CLEARTYPE_QUALITY
|
||||||
|
{"CLEARTYPE", CLEARTYPE_QUALITY},
|
||||||
|
#endif
|
||||||
|
#ifdef ANTIALIASED_QUALITY
|
||||||
|
{"ANTIALIASED", ANTIALIASED_QUALITY},
|
||||||
|
#endif
|
||||||
|
#ifdef NOANTIALIASED_QUALITY
|
||||||
|
{"NOANTIALIASED", NOANTIALIASED_QUALITY},
|
||||||
|
#endif
|
||||||
|
#ifdef PROOF_QUALITY
|
||||||
|
{"PROOF", PROOF_QUALITY},
|
||||||
|
#endif
|
||||||
|
#ifdef PROOF_QUALITY
|
||||||
|
{"DRAFT", DRAFT_QUALITY},
|
||||||
|
#endif
|
||||||
|
{"DEFAULT", DEFAULT_QUALITY},
|
||||||
|
{NULL, 0}
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert a charset ID to a name.
|
* Convert a charset ID to a name.
|
||||||
* Return NULL when not recognized.
|
* Return NULL when not recognized.
|
||||||
@@ -2704,6 +2731,21 @@ charset_id2name(int id)
|
|||||||
return cp->name;
|
return cp->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Convert a quality ID to a name.
|
||||||
|
* Return NULL when not recognized.
|
||||||
|
*/
|
||||||
|
char *
|
||||||
|
quality_id2name(DWORD id)
|
||||||
|
{
|
||||||
|
struct quality_pair *qp;
|
||||||
|
|
||||||
|
for (qp = quality_pairs; qp->name != NULL; ++qp)
|
||||||
|
if (id == qp->quality)
|
||||||
|
break;
|
||||||
|
return qp->name;
|
||||||
|
}
|
||||||
|
|
||||||
static const LOGFONT s_lfDefault =
|
static const LOGFONT s_lfDefault =
|
||||||
{
|
{
|
||||||
-12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
|
-12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
|
||||||
@@ -2985,6 +3027,26 @@ get_logfont(
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'q':
|
||||||
|
{
|
||||||
|
struct quality_pair *qp;
|
||||||
|
|
||||||
|
for (qp = quality_pairs; qp->name != NULL; ++qp)
|
||||||
|
if (STRNCMP(p, qp->name, strlen(qp->name)) == 0)
|
||||||
|
{
|
||||||
|
lf->lfQuality = qp->quality;
|
||||||
|
p += strlen(qp->name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (qp->name == NULL && verbose)
|
||||||
|
{
|
||||||
|
vim_snprintf((char *)IObuff, IOSIZE,
|
||||||
|
_("E244: Illegal quality name \"%s\" in font name \"%s\""), p, name);
|
||||||
|
EMSG(IObuff);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
if (verbose)
|
if (verbose)
|
||||||
{
|
{
|
||||||
|
@@ -49,6 +49,7 @@ void serverForeground(char_u *name);
|
|||||||
char_u *serverGetReply(HWND server, int *expr_res, int remove, int wait);
|
char_u *serverGetReply(HWND server, int *expr_res, int remove, int wait);
|
||||||
void serverProcessPendingMessages(void);
|
void serverProcessPendingMessages(void);
|
||||||
char *charset_id2name(int id);
|
char *charset_id2name(int id);
|
||||||
|
char *quality_id2name __ARGS((DWORD id));
|
||||||
int get_logfont(LOGFONT *lf, char_u *name, HDC printer_dc, int verbose);
|
int get_logfont(LOGFONT *lf, char_u *name, HDC printer_dc, int verbose);
|
||||||
void channel_init_winsock(void);
|
void channel_init_winsock(void);
|
||||||
/* vim: set ft=c : */
|
/* vim: set ft=c : */
|
||||||
|
@@ -748,6 +748,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1705,
|
||||||
/**/
|
/**/
|
||||||
1704,
|
1704,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user