<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Ian, This is in a graphical in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086702#M123148</link>
    <description>&lt;P&gt;Ian, This is in a graphical application that I wrote, which worked fine in v2016 but not in v2017. All on a Win 10 Intel i7 computer with 32 GB RAM and 3 TB HDs.&lt;/P&gt;

&lt;P&gt;Brooks&lt;/P&gt;</description>
    <pubDate>Fri, 03 Feb 2017 16:44:12 GMT</pubDate>
    <dc:creator>Brooks_Van_Horn</dc:creator>
    <dc:date>2017-02-03T16:44:12Z</dc:date>
    <item>
      <title>Fixed Spacing Fonts</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086700#M123146</link>
      <description>&lt;P&gt;Since I've moved to IVF 2017 Composer Edition, my fixed width fonts don't seem to be fixed with anymore. They displayed correctly under 2016 version. Any suggestions? I'm running under vs 2013 community. I'm using Coutier New.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thx,&lt;/P&gt;

&lt;P&gt;Brooks&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 03:49:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086700#M123146</guid>
      <dc:creator>Brooks_Van_Horn</dc:creator>
      <dc:date>2017-02-03T03:49:00Z</dc:date>
    </item>
    <item>
      <title>Is this while editing your</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086701#M123147</link>
      <description>&lt;P&gt;Is this while editing your Fortran source, or in an application that you've written?&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 05:24:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086701#M123147</guid>
      <dc:creator>IanH</dc:creator>
      <dc:date>2017-02-03T05:24:50Z</dc:date>
    </item>
    <item>
      <title>Ian, This is in a graphical</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086702#M123148</link>
      <description>&lt;P&gt;Ian, This is in a graphical application that I wrote, which worked fine in v2016 but not in v2017. All on a Win 10 Intel i7 computer with 32 GB RAM and 3 TB HDs.&lt;/P&gt;

&lt;P&gt;Brooks&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 16:44:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086702#M123148</guid>
      <dc:creator>Brooks_Van_Horn</dc:creator>
      <dc:date>2017-02-03T16:44:12Z</dc:date>
    </item>
    <item>
      <title>Did you also change Visual</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086703#M123149</link>
      <description>&lt;P&gt;Did you also change Visual Studio versions? I'm struggling to imagine any aspect of the Fortran product install that would have an effect on fonts. Can you come up with a small sample application that shows the difference? Screenshots (before and after) would also help.&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2017 00:46:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086703#M123149</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2017-02-04T00:46:35Z</dc:date>
    </item>
    <item>
      <title>The code snioit is:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086704#M123150</link>
      <description>&lt;P&gt;The code snioit is:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;      write(Info(3),150) avg
      write(Info(4),151) sqrt(cm2)
      write(Info(5),152) LnK
      write(Info(6),154) Mean2
      write(Info(7),155) Lower
      write(Info(8),156) Upper
      write(Info(9),158) AbsErr
      write(Info(10),159) Mode2
      write(Info(11),160) Median
      write(Info(12),161) Skew
      write(Info(13),162) Kurt
      write(Info(14),163) Cntr
      write(Info(15),164) Beta2
      write(info(16),165) Kappa
      call Date_And_Time(Date, Time, Zone, Values)
      write(Info(17),166) values(5), values(6), values(7)
      write(Info(18),167) values(3), values(2), values(1)
 150  format('Mean: ', sp, es15.7)
 151  format('Sigma:', sp, es15.7)
 152  format('Ln K: ', sp, es15.7)
 154  format('Mean2:', sp, es15.7)
 155  format('Lower:', sp, es15.7)
 156  format('Upper:', sp, es15.7)
 158  format('AbsErr:',sp, es14.1)
 159  format('Mode2:', sp, es15.7)
 160  format('Median:',sp, es14.7)
 161  format('Skew: ', sp, es15.7)
 162  format('Kurt: ', sp, es15.7)
 163  format('SubDiv:', i10 )
 164  format('Beta2:', sp, es15.7)
 165  format('Kappa:', sp, es15.7)
 166  format('Time:       ', i2.2, ':', i2.2, ':', i2.2)
 167  format('Date:     ', i2.2, '/', i2.2, '/', i4)&lt;/PRE&gt;

&lt;P&gt;And using vs 2013 I got attachment 1 with IVF 2016 Composer edition and Picture 2 with 2017 ivf.&lt;/P&gt;

&lt;P&gt;Brooks&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2017 12:33:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086704#M123150</guid>
      <dc:creator>Brooks_Van_Horn</dc:creator>
      <dc:date>2017-02-04T12:33:03Z</dc:date>
    </item>
    <item>
      <title>Hello</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086705#M123151</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;

&lt;P&gt;It seems that the problem lies in the output panel.&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2017 15:32:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086705#M123151</guid>
      <dc:creator>GVautier</dc:creator>
      <dc:date>2017-02-04T15:32:17Z</dc:date>
    </item>
    <item>
      <title>Are info(xx) and array of</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086706#M123152</link>
      <description>&lt;P&gt;Are info(xx) and array of character strings? If so how are those written to the screen? What font selection process is used?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2017 15:36:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086706#M123152</guid>
      <dc:creator>andrew_4619</dc:creator>
      <dc:date>2017-02-04T15:36:55Z</dc:date>
    </item>
    <item>
      <title>Andrew, per your request:</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086707#M123153</link>
      <description>&lt;P&gt;Andrew, per your request:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;Module zData
!$=Zdata                                         Copyright (C) (2016) by BVH LLC
!$                                               01/07/2016
!$
!$ Zdata            is invoked by:
!$    Boxit            Compare          Dlgchanged       Dographs
!$    Dogrids          Dohisto          Domycolor        Fitout
!$    Fitsamp          Kolmo            M2r              Mytextout
!$    Newcurv          Winmain          Plotcdf          Plotedf
!$    Plothist         Plotpdf          Purge            Radiochanged
!$    Saveall          Setplots         Typei            Typeii
!$    Typeiii          Typeiv           Typev            Typevi
!$    Typevii          Typeviii
!$
!$ Zdata            invokes:
!$    Module Ifwinty
!$
!$=Zdata
Use IFWINTY

Integer(4), Parameter :: zNd = 200              ! Number GUI points
Integer(4), Parameter :: zHis =100              ! Max number of Histogram bins
Integer(4), Parameter :: zLbs = 50              ! Max dim of zLabels
Integer(4), Parameter :: zIn = 25               ! Max dim of Info

Integer(4),Save,Public::  zNG = 0               ! current number of bins
Integer(4),Save,Public::  zTop = 0              ! largest histogram bin
Integer(4),Save,Public :: zHist(0:zHis+1)       ! Histogram bins
Integer(4),Save,Public::  zDF                   ! Chi-square statistic deg of freedom
Integer(4),Save,Public::  zMem = 0
Integer(4),Save,Public::  zType = 0             ! curve type for plotted data
Integer(4),Save,public::  zNst, zMxI = 0
Logical(4),Save,public::  $Curv = .False.
Real(8),Save,Public ::    zHXs(0:zHis+1)        ! category initial points
Real(8),Save,public::     zChi                  ! Chi-square statistic
Real(8),Save,Public::     zAlpha                ! alpha corrsponding to the zChi**2
Real(8),Save,Public::     zDelX                 ! width of a bin on x-axis
Real(8),Save,Public::     zMedian = 0           ! median in the histogram
Real(8),Save,Public ::    zPdf(0:zNd+1)         ! PDF plot points
Real(8),Save,Public ::    oCdf(0:zNd+1)         ! CDF plot points for comparison curve
Real(8),Save,Public ::    oPdf(0:zNd+1)         ! PDF plot points for comparison curve
Real(8),Save,Public ::    zCdf(0:zNd+1)         ! CDF plot points
Real(8),Save,Public ::    zXs(0:zNd+1)          ! x-Vals for PDF, CDF and EDF
Real(8),Save,Public::     zEDF(0:zNd+1)         ! Emprrical Distribution function
Real(8),Save,Public ::    zLeft, zRight         ! Plot x-boundaries
Real(8),Save,Public ::    zXmin, zXMax, zYMin, zYMax ! PDF bounds for grid
Character(120),Save,Public :: zLabels(zLbs)     ! Unit 3 itype info
Character(120),Save,Public::Info(zIn)           ! Text info on the parameters
Character(120),Save,Public::oInfo(7)            ! Text info on the parameters
Type (T_RECT)::           zRect

End Module zData
&lt;/PRE&gt;

&lt;P&gt;And the routine that writes it to the screen is:&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;Subroutine MyTextOut (hDC)
!$=Mytextout                                     Copyright (C) (2016) by BVH LLC
!$                                               01/07/2016
!$
!$ Mytextout        is invoked by:
!$    Dogrids                                                                                                                 
!$
!$ Mytextout        invokes:
!$    Func   Createpen      Func   Deleteobject   Module Gdi32          Subr   Getlength                                      
!$    Func   Gettextmetric  Module Ifwbase        Module Ifwin          Module Ifwinty                                        
!$    Module Kernel32       Module Myscreen       Module Pearsonglobal  Func   Rgb_dword                                      
!$    Func   Selectobject   Func   Textout        Func   Trim           Module User32                                         
!$    Subr   V2p            Func   Validaterect   Module Zdata                                                                
!$
!$=Mytextout       
    use ifwinty
    use ifwin
    use user32
    use ifwbase
    use gdi32
    use kernel32
    use PearsonGlobals
    use zData
    use MyScreen
 
Implicit None
 
Integer(HANDLE),Intent(inout):: hDC
 
Integer(4)::          x, y, cl, cm, cr, left, ys, ix, iy
Integer(4)::          i, lenx, lnth
Integer(HANDLE),Save:: hOPen, hOFnt
Integer(HANDLE)::      hDF
Integer(BOOL)::       bret
TYPE (T_TEXTMETRIC):: ta
Character(120)::       myBuffer
 
      bret = DeleteObject(ghPen)
      ghPen = CreatePen(PS_SOLID, DOT2, RGB(0,0,0))   ! semi-thick black Pen
      hOPen = SelectObject(hDC, ghPen)
 
!     (0,0) in upper left corner of screen
      left = xZero
      cm = Left + width / 2
      cl = left + width / 3  - 50
      cr = left + (2 * width) / 3 - 50
      hDF = SelectObject(hDC,hmyFont24)
      bret = GetTextMetrics(hDC, ta)
      myBuffer = 'Distribution Statistics'
      Call GetLength(myBuffer,lnth)
      lenx = ta%tmAveCharWidth * lnth
      x = 500 - lenx / 2
      y = 1000
      Call V2P (x, y, ix, iy)
      iy = iy - 40
      bret = textOut(hDC, ix, iy, myBuffer, lnth)
      myBuffer = Info(1)
      Call GetLength(myBuffer,lnth)
      lenx = ta%tmAveCharWidth * lnth / 2
      x = cm - lenx + 2
      y = Rectg%top + 100
      bret = textOut(hDC, x, y, myBuffer, lnth)
      y = y + 35
      myBuffer = Info(2)
      Call GetLength(myBuffer,lnth)
      lenx = ta%tmAveCharWidth * lnth / 2
      x = cm - lenx 
      bret = textOut(hDC, x, y, myBuffer, lnth)
      y = y + 50
      ys = y
      hDF = SelectObject(hDC, hMyFont16)
      bret = GetTextMetrics(hDC, ta)
      myBuffer = 'Fitted Parameters:'
      Call GetLength(myBuffer,lnth)
      lenx = ta%tmAveCharWidth * lnth / 2
      x = cl
      y = y + 25
      if (zMxI &amp;gt; 2) Then
         bret = textOut(hDC, x, y, myBuffer, lnth)
         do i = 3, zMxI
            myBuffer = Info(i)
            Call GetLength(myBuffer,lnth)
            lenx = ta%tmAveCharWidth * lnth / 2
            If (lnth &amp;gt; 12) Then
               x = cl
               y = y + 20
               bret = textOut(hDC, x, y, myBuffer, lnth)
            End If
         end do
      End If
      y = ys
      If (zNst &amp;gt; 2) Then
         do i = 1, zNst
            myBuffer = Trim(AdjustL(zLabels(i)))
            Call GetLength(myBuffer,lnth)
            lenx = ta%tmAveCharWidth * lnth / 2
            If (lnth &amp;gt;= 12) Then
               x = cr
               y = y + 20
               bret = TextOut(hDC, x, y, myBuffer, lnth)
            End If
         end do
      End If
      bret = ValidateRect(ghWndMain, rectf)
      hOPen = SelectObject(hDC, hOPen)
      hOFnt = SelectObject(Hdc, hOFnt)
      bret = DeleteObject(ghPen)
 
      return
 
End Subroutine MyTextOut
&lt;/PRE&gt;

&lt;P&gt;The fonts are selected by:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;
FUNCTION CreateSimpleFont (faceName, size, bold, italic)
!DEC$ ATTRIBUTES STDCALL, ALIAS : 'CreateSimpleFont' :: CreateSimpleFont

! Creates a font with simple characteristics. The face name and size
! are provided, along with bold and italic flags. Returns a handle
! to the new font, or 0 on failiure.

    use IFWIN

    Integer(Handle):: CreateSimpleFont
    CHARACTER(LEN=*), INTENT(IN)   :: faceName
    INTEGER(4), INTENT(IN)         :: size
    LOGICAL(4), INTENT(IN)         :: bold
    LOGICAL(4), INTENT(IN)         :: italic

    TYPE(T_LOGFONT)                :: logfont
    INTEGER(HANDLE)                :: hfont

    logfont%lfHeight		= size
    logfont%lfWidth			= 0
    logfont%lfEscapement	= 0
    logfont%lfOrientation	= 0
    IF (bold) THEN
        logfont%lfWeight = FW_BOLD
    ELSE
        logfont%lfWeight = FW_NORMAL
    END IF
    logfont%lfItalic			   = italic
    logfont%lfUnderline			= .FALSE.
    logfont%lfStrikeout			= .FALSE.
    logfont%lfCharSet			= ANSI_CHARSET
    logfont%lfOutPrecision		= OUT_DEFAULT_PRECIS
    logfont%lfClipPrecision	= CLIP_DEFAULT_PRECIS
    logfont%lfQuality			= DEFAULT_QUALITY
    logfont%lfPitchAndFamily	= IOR(DEFAULT_PITCH, FF_DONTCARE)
    logfont%lfFaceName			= faceName  

    hfont = CreateFontIndirect (logfont)

    CreateSimpleFont = hfont
    return
    
END FUNCTION CreateSimpleFont
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It is invoked by:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;         If (hMyFont12 == NULL) Then
            hMyFont12 = CreateSimpleFont( "Courier New"C, mas, .FALSE., .FALSE.)
            mas = mas + 2
            hMyFont16 = CreateSimpleFont( "Courier New"C, mas, .FALSE., .FALSE.)
            mas = mas + 4
            hMyFont20 = CreateSimpleFont( "Courier New"C, mas, .FALSE., .FALSE.)
            mas = mas + 8
            hMyFont24 = CreateSimpleFont( "Courier New"C, mas, .TRUE., .FALSE.)
            mas = mas + 10
            hMyFont36 = CreateSimpleFont( "Courier New"C, mas, .TRUE., .FALSE.)
         end if
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2017 21:07:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086707#M123153</guid>
      <dc:creator>Brooks_Van_Horn</dc:creator>
      <dc:date>2017-02-04T21:07:56Z</dc:date>
    </item>
    <item>
      <title>Inside the function that</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086708#M123154</link>
      <description>&lt;P&gt;Inside the function that creates the font, there are a number of logical variables and literal constants being assigned to integer components.&amp;nbsp; That's fragile.&lt;/P&gt;</description>
      <pubDate>Sun, 05 Feb 2017 01:47:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086708#M123154</guid>
      <dc:creator>IanH</dc:creator>
      <dc:date>2017-02-05T01:47:39Z</dc:date>
    </item>
    <item>
      <title>The first problem is that</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086709#M123155</link>
      <description>&lt;P&gt;The first problem is that that STDCALL attribute mungs up the value that gets passed to faceName in function CreateSimpleFont. This is further complicated by the fact that you don't ask for a monospaced font via logfont%lfPitchAndFamily. I have taken the liberty to rewrite your function with a structure constructor, which I consider much safer than separate assignments to members. Also I have written code that extracts the name of the font that actually gets used. Please experiment with my example a little so that you can more clearly see what's going on.&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;module M
&amp;nbsp;&amp;nbsp; use IFWIN
&amp;nbsp;&amp;nbsp; implicit none
&amp;nbsp;&amp;nbsp; contains
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function CreateSimpleFont(faceName, size, bold, italic)
!!DEC$ ATTRIBUTES STDCALL, ALIAS: 'CreateSimpleFont' :: CreateSimpleFont
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(HANDLE) CreateSimpleFont
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; character(*), intent(IN) :: faceName
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer, intent(IN) :: size
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logical, intent(IN) :: bold
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logical, intent(IN) :: italic

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(T_LOGFONT) logfont

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logfont = T_LOGFONT( &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfHeight = size, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfWidth = 0, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfEscapement = 0, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfOrientation = 0, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfWeight = merge(FW_BOLD,FW_NORMAL,bold), &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfItalic = merge(TRUE,FALSE,italic), &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfUnderline = FALSE, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfStrikeOut = FALSE, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfCharSet = ANSI_CHARSET, &amp;amp;
!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfOutPrecision = OUT_DEFAULT_PRECIS, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfOutPrecision = OUT_TT_ONLY_PRECIS, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfClipPrecision = CLIP_DEFAULT_PRECIS, &amp;amp;
!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfQuality = DEFAULT_QUALITY, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfQuality = CLEARTYPE_QUALITY, &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfPitchAndFamily = IOR(FIXED_PITCH, FF_MODERN), &amp;amp;
!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfPitchAndFamily = IOR(DEFAULT_PITCH, FF_DONTCARE), &amp;amp;
!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfPitchAndFamily = IOR(VARIABLE_PITCH, FF_DECORATIVE), &amp;amp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lfFaceName = transfer(faceName,logfont%lfFaceName))
write(*,*) logfont%lfFaceName(:index(logfont%lfFaceName,achar(0))-1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreateSimpleFont = CreateFontIndirect(logfont)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end function CreateSimpleFont
end module M

program P
&amp;nbsp;&amp;nbsp; use IFWIN
&amp;nbsp;&amp;nbsp; use M
&amp;nbsp;&amp;nbsp; implicit none
&amp;nbsp;&amp;nbsp; integer :: mas(5) = [12,16,20,24,36]
&amp;nbsp;&amp;nbsp; integer(HANDLE) hMyFont(size(mas))
&amp;nbsp;&amp;nbsp; logical :: bold(5) = [.FALSE.,.FALSE.,.FALSE.,.TRUE.,.TRUE.]
&amp;nbsp;&amp;nbsp; integer i
&amp;nbsp;&amp;nbsp; do i = 1, size(mas)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,*) i,mas(i)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hMyFont(i) = CreateSimpleFont("Courier New"//achar(0),mas(i),bold(i),.FALSE.)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLOCK
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type(T_LOGFONT) logfont
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer result4
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(HANDLE) DC
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer(HANDLE) hGDIobj
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; character(32) TextFace

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DC = GetDC(NULL)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hGDIobj = SelectObject(DC,hMyFont(i))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result4 = GetTextFace(DC,len(TextFace),TextFace)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(*,*) TextFace(:index(TextFace,achar(0))-1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END BLOCK
&amp;nbsp;&amp;nbsp; end do
end program P
&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;EDIT&lt;/STRONG&gt;: Reading the ifort docs, it looks like you could have unmunged faceName by changing your attributes to&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;!DEC$ ATTRIBUTES STDCALL, REFERENCE, ALIAS: 'CreateSimpleFont' :: CreateSimpleFont&lt;/PRE&gt;

&lt;P&gt;That REFERENCE attribute on the enclosing function and not on the argument means that the whole actual argument gets passed along with its LEN. If you need the other arguments to get passed by value, you would then have to say so with another !DEC$ ATTRIBUTES statement. I forget whether this makes the calling convention actually different for them, because ifort has two ways to pass by value.&lt;/P&gt;

&lt;P&gt;It seems that you were just picking up the first font on a list, and when you installed software, another font got ahead of the one you like on the list. Had you gotten zapfdingbats on the first try, you would have known something was wrong right away!&lt;/P&gt;</description>
      <pubDate>Sun, 05 Feb 2017 04:09:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086709#M123155</guid>
      <dc:creator>JVanB</dc:creator>
      <dc:date>2017-02-05T04:09:00Z</dc:date>
    </item>
    <item>
      <title>Thanks Repeat Offender.  Two</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086710#M123156</link>
      <description>&lt;P&gt;Thanks Repeat Offender.&amp;nbsp; Two lineschanged and it works as it did before.&lt;/P&gt;

&lt;P&gt;Brooks&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2017 23:41:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086710#M123156</guid>
      <dc:creator>Brooks_Van_Horn</dc:creator>
      <dc:date>2017-02-06T23:41:57Z</dc:date>
    </item>
    <item>
      <title>A comment to Repeat Offender</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086711#M123157</link>
      <description>&lt;P&gt;A comment to Repeat Offender post #10,&lt;/P&gt;

&lt;P&gt;I understand the program P can be build as a console application, so for my own curiosity I copied the text and tried to build it, - without success.&amp;nbsp; Would be nice if you had a look at the logfile attached and commented back..&lt;/P&gt;

&lt;P&gt;The "small button" you refer to, I cannot see, is in VS ?&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2017 10:55:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086711#M123157</guid>
      <dc:creator>reidar</dc:creator>
      <dc:date>2017-02-27T10:55:06Z</dc:date>
    </item>
    <item>
      <title>I pretty much never use</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086712#M123158</link>
      <description>&lt;P&gt;I pretty much never use Visual Studio. Everything from the command line. The small button I was referring to is the one that appears when you move the mouse cursor over my Fortran code in Quote #10.&amp;nbsp;You have to be logged in to the forum to see it, I think. Clicking on the leftmost of the 3 choices there gives you an about:blank window from which you can copy the code cleanly with &amp;lt;CTRL&amp;gt;+A, then &amp;lt;CTRL&amp;gt;+C, and then paste into your Fortran source, SetFont.f90.&lt;/P&gt;

&lt;P&gt;However, your source looks pretty clean so you evidently did this already or something equivalent but more tedious. The problem as best as I can judge is that you are using a relatively old version of Intel Fortran:&lt;/P&gt;

&lt;P&gt;Compiling with Intel(R) Visual Fortran Compiler XE 14.0.4.237 [IA-32]...&lt;/P&gt;

&lt;P&gt;That may be old enough that the BLOCK construct was not supported. I don't know how to determine when such support was added, but that's my best guess without a lot more research on my part.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2017 18:29:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Fixed-Spacing-Fonts/m-p/1086712#M123158</guid>
      <dc:creator>JVanB</dc:creator>
      <dc:date>2017-02-27T18:29:00Z</dc:date>
    </item>
  </channel>
</rss>

