Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Words

JohnNichols
Valued Contributor III
609 Views

Lóðurr

Dear Steve:

Many years ago, when I wrote a lot of LISP code for AutoCAD - back when Microsoft Fortran was in Version 3.03 or thereabouts and I could comfortably make a cup of tea whilst the program compiled on a COMPAQ Portable - I had people using the programs in our office. It is really hard to keep track of programs called TEXTIN etc, so I started naming them after Norse and Greek gods.  If someone is complaining about a program called HAGAR you know it is yours and not something they stole from a magazine - mainly Hot Tip Harry's monthly suggestions.

Remember Byte - good magazine.

So I looked to extend the structural analysis program BEAMS and I do not want to throw away that first iteration as it gives me a base case that is tested, so I grabbed a God's name in this case Lóðurr​ - apparently this work only appeared once in Norse mythology , to extend the program.  

Lóðurr is a god in Norse mythology. In the Poetic Edda poem Völuspá he is assigned a role in animating the first humans, but apart from that he is hardly ever mentioned, and remains obscure. Scholars have variously identified him with Loki, , Vili and Freyr, but consensus has not been reached on any one theory.

The interesting problem arises when you take the old English letters (and one could ask the interesting question, these are really English letters are they not.) how do you show these letters using a format statement in Fortran on a Console or is that impossible.

I knew you would know the answer.

John

 

(I got a note on the MKL forum from a Intel guy about my comments about PARDISO and FEAST. - Thanks - I am not sure he understood what I meant - but I tried.) 

0 Kudos
11 Replies
Steven_L_Intel1
Employee
609 Views

John,

A typical console application is limited to characters in the "code page" it uses - the default code page is quite limited. Formatted output to the console will be similarly limited.

It is possible to change the code page and also to write Unicode directly to the console. Here are some links that may be of interest:

http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using

http://stackoverflow.com/questions/388490/unicode-characters-in-windows-command-line-how

0 Kudos
JohnNichols
Valued Contributor III
609 Views
 program character_kind
            use iso_fortran_env
            implicit none
            integer, parameter :: ascii = selected_char_kind ("ascii")
            integer, parameter :: ucs4  = selected_char_kind ('ISO_10646')
          
            character(kind=ascii, len=26) :: alphabet
            character(kind=ucs4,  len=30) :: hello_world
          
            alphabet = ascii_"abcdefghijklmnopqrstuvwxyz"
            hello_world = ucs4_'Hello World and Ni Hao -- ' &
                          // char (int (z'4F60'), ucs4)     &
                          // char (int (z'597D'), ucs4)
          
            write (*,*) alphabet
          
            open (output_unit, encoding='UTF-8')
            write (*,*) trim (hello_world)
          end program character_kind

So if I read my manual correctly Intel does not support UTF-8 or the ISO standard  - this program is from GNU Fortran

John

0 Kudos
JohnNichols
Valued Contributor III
609 Views

Steve:

The manual - PDF V16 says I can open a file in UTF-8 - how do I read from it then?

John

0 Kudos
Steven_L_Intel1
Employee
609 Views

Intel Fortran doesn't yet support other character kinds. The standard does not require support for ISO_10646.

UTF-8 is the default (and only supported specific) value for ENCODING.

0 Kudos
JohnNichols
Valued Contributor III
609 Views

How do the Japanese users of IF do Kanji?

No sweat it was just an interesting question - can live without it

DISLIN now works well in the program thanks

 

0 Kudos
JohnNichols
Valued Contributor III
609 Views

Error 1  general error c101008d: Failed to write the updated manifest to the resource of file "C:\Users\macne\Documents\Visual Studio 2013\Projects\Program070 - Beams\L??urr\Debug\L??urr.exe". The system cannot open the device or file specified. mt.exe 
Steve:

It tells me on compile that there is a manifest error - but the program did compile and will run - is this because I used the funny characters or because I put in DISLIN - or you are as lost in the wilderness as I am?

John

0 Kudos
Steven_L_Intel1
Employee
609 Views

It's because you have non-ASCII characters in the file path. I have seen this with various MS tools before.

 

0 Kudos
jimdempseyatthecove
Honored Contributor III
609 Views

You might be able to use the USEROPEN specifier to OPEN...
... provided the file system supports Unicode...
... and that the chosen Unicode characters are valid for file names (see).

Jim Dempsey

0 Kudos
Steven_L_Intel1
Employee
609 Views

I doubt that will help. The Fortran I/O system for formatted I/O doesn't know how to "parse" Unicode.

0 Kudos
JohnNichols
Valued Contributor III
609 Views

I took out all of the funny symbols - and the Manifest is still causing problems, so I switched off generate the manifest - will that hurt.

I had to do the same thing with the Strand7 API program - the first call into the API.DLL failed --- I love this job 

Also if I am in VS 2015 and I type use ____ I get a exception screen that can get repeated a lot - it is a popup window - I know next time I will get a screen shot.

0 Kudos
Steven_L_Intel1
Employee
609 Views

If you can still run the program after turning off manifests, you should be ok. 

0 Kudos
Reply