//IShellSchemeDynamicChangeListener public void OnShellSchemeCollectionChanged(IShellScheme[] values, Poderosa.Util.Collections.TypedHashtable<IShellScheme, IShellScheme> table) { if (_shellScheme == null) return; IShellScheme ns = table[_shellScheme]; Debug.Assert(ns != null); BeginUpdate(); _shellScheme = ns; _shellSchemeName = ns.Name; EndUpdate(); //これで通知が出る。例えばShellScheme選択コンボボックス。 }
/// <summary> /// 表示プロファイルを取り込みます。 /// </summary> /// <param name="profile"></param> public void ImportRenderProfile(Poderosa.View.RenderProfile profile) { RpFontName = profile.FontName; RpCjkFontName = profile.CJKFontName; RpFontSize = profile.FontSize; RpUseClearType = profile.UseClearType; RpEnableBoldStyle = profile.EnableBoldStyle; RpForceBoldStyle = profile.ForceBoldStyle; RpForeColor = profile.ForeColor; RpBackColor = profile.BackColor; RpBackgroundImageFileName = profile.BackgroundImageFileName; RpImageStyle = profile.ImageStyle; ImportEscapeSequenceColorSet(profile.ESColorSet); }
private int FontProc(ref Poderosa.Win32.ENUMLOGFONTEX lpelfe, ref Poderosa.Win32.NEWTEXTMETRICEX lpntme, uint FontType, IntPtr lParam) { //(lpelfe.lfPitchAndFamily & 2)==0) bool interesting = FontType == 4 && (lpntme.ntmTm.tmPitchAndFamily & 1) == 0 && lpelfe.lfFaceName[0] != '@'; //Terminalは依然ダメ //if(!interesting) // if(lpelfe.lfFaceName=="FixedSys" || lpelfe.lfFaceName=="Terminal") interesting = true; //この2つだけはTrueTypeでなくともリストにいれる if (interesting) { //縦書きでないことはこれでしか判定できないのか? //さぼり if (/*_language==Language.Japanese && */lpntme.ntmTm.tmCharSet == 128/*SHIFTJIS_CHARSET*/ || lpntme.ntmTm.tmCharSet == 129/*HANGUL_CHARSET*/ || lpntme.ntmTm.tmCharSet == 130/*JOHAB_CHARSET*/ || lpntme.ntmTm.tmCharSet == 134/*GB2312_CHARSET*/ || lpntme.ntmTm.tmCharSet == 136/*CHINESEBIG5_CHARSET*/) { _cjkFontList.Items.Add(lpelfe.lfFaceName); //日本語フォントでもASCIIは必ず表示できるはず if (_asciiFontList.FindStringExact(lpelfe.lfFaceName) == -1) _asciiFontList.Items.Add(lpelfe.lfFaceName); } else if (lpntme.ntmTm.tmCharSet == 0) { if (_asciiFontList.FindStringExact(lpelfe.lfFaceName) == -1) _asciiFontList.Items.Add(lpelfe.lfFaceName); } } return 1; }
/// <summary> /// 色指定エスケープシーケンスセットを取り込みます。 /// </summary> /// <param name="colorSet"></param> public void ImportEscapeSequenceColorSet(Poderosa.View.EscapesequenceColorSet colorSet) { EsColor0 = colorSet[0].Color; EsColor1 = colorSet[1].Color; EsColor2 = colorSet[2].Color; EsColor3 = colorSet[3].Color; EsColor4 = colorSet[4].Color; EsColor5 = colorSet[5].Color; EsColor6 = colorSet[6].Color; EsColor7 = colorSet[7].Color; }
//IShellSchemeDynamicChangeListener public void OnShellSchemeCollectionChanged(IShellScheme[] values, Poderosa.Util.Collections.TypedHashtable<IShellScheme, IShellScheme> table) { if (_shellScheme == null) return; IShellScheme ns = table[_shellScheme]; Debug.Assert(ns != null); BeginUpdate(); _shellScheme = ns; _shellSchemeName = ns.Name; EndUpdate(); //����Œʒm���o��B�Ⴆ��ShellScheme�I��R���{�{�b�N�X�B }